localhost_ru | Unsorted

Telegram-канал localhost_ru - Локалхост (Никита Куликов)

2030

Канал одного Android-разработчика, успевшего поработать в аутсорсинге, Яндексе, Мейле, Snapchat и Flipper Devices. Мысли и годнота. @lionzxy

Subscribe to a channel

Локалхост (Никита Куликов)

Будущее уже тут - и не только в IT.

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

Читать полностью…

Локалхост (Никита Куликов)

Хороший программист старается избегать лишнего кода, потому что лишний код - это лишние тесты, это лишнее место где можно ошибиться. "Лучший код это тот, который не написан" ©

Поэтому разработчики используют кодогенераторы - плагины/скрипты/надстройки, которые генерируют код за программиста. Код, который не надо тестировать и который не захламляет кодовую базу. Самая популярная область для кодогенерации - это ORM для баз данных. Концепция проста - мы пишем один раз структуру данных, а дальше из этой структуры генерируется код для приложения и для базы данных. В одном моем прошлом проекте нам удалось удалить 20,000 строк кода после перехода на ORM, мы сэкономили заказчику несколько миллионов рублей и избавились от бесконечных багов и вылетов.

В мире Android (считай JVM) существуют несколько библиотек для этого. Есть RoomDAO, который генерирует схемы и простые запросы для базы данных из вашего кода. Но сложные запросы или связи нужно писать ручками на SQL. Есть ORMLite, который генерирует все за тебя, включая связи и сложные запросы из вашего кода. И недавно я узнал про обратный подход - генерировать код на kotlin из SQL.

https://cashapp.github.io/sqldelight/

Мое сердце остается с RoomDAO как лучшим, по моему мнению, балансом между сложностью и скоростью, но теперь я знаю на один подход больше.
#resources

Читать полностью…

Локалхост (Никита Куликов)

Сегодня я узнал про существование виртуальных машин в браузере, которые работают через webasm:
https://copy.sh/v86/

WebAssembly - это способ запускать нативный код в браузере, будь то Rust, Go или другой язык, способный собираться в LLVM. Хотя, например, тот же Kotlin способен сразу собираться в JS. Собственно где-то 5 лет назад я так и сделал - запустил Kotlin прямо в браузере - https://glitchless.surge.sh/

У игры есть мультиплеер, но я его потушил. Вот исходники фронта, вот backend на spring, вот котлин во фронте

Читать полностью…

Локалхост (Никита Куликов)

Мобильное приложение Flipper теперь доступно публично

Мы опубликовали первую публичную версию мобильного приложения для Флиппера в App Store и PlayMarket.

Оно умеет

* Управлять сохраненными ключами на флиппере: редактировать, удалять, создавать новые

* Отправлять сохраненные ключи другим пользователям любым удобным способом, хоть через Telegram

* Управлять флиппером через screen sharing

Скоро можно будет даже обновлять прошивку на Флиппере через мобильное приложение без компьютера (!!!!)

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


Скачать для iOS

Скачать для Android

Читать полностью…

Локалхост (Никита Куликов)

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

Опросив некоторое количество администраторов каналов и все, они были уверены, что бот с минимальным количеством прав (только добавление участников) не может ничего сделать. Это даже пишется в инструкция к некоторым ботам которых нужно добавить в канал чтобы они выполняли там необходимые действия.

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

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

Бонусом я сделал бота, который делает то же самое, что на видео. Добавьте @ccBoomBot в тестовый канал как администратора с любым набором прав и напишите любое сообщение в канал. Готово, канала больше нет.

Читать полностью…

Локалхост (Никита Куликов)

На сообщения в личке или в чатах тоже можно ставить реакции. Мне лично изменение очень нравится

Читать полностью…

Локалхост (Никита Куликов)

Подъехали результаты хакатона. Внезапно было очень много крутых проектов. Мои любимчики (кроме телеграм клиента) это эмулятор CHIP-8.
Ну а какой проект личном вам нравится вы сможете узнать, прочитав статью по ссылке:
https://habr.com/ru/company/flipperdevices/blog/595325/

Читать полностью…

Локалхост (Никита Куликов)

Будни Android-разработчика это когда каждый день пишут рекрутеры.

Но такое красивое оформление первый раз.

Авито регулярно радуют своим HR-брендом, очень приятное впечатление создавая раз за разом.

Когда все компании отказались проводить Android Academy, аргументируя это тем что “нам джуны не нужны”, только Avito согласилась, понимая важность HR-бренда, а не ставя KPI на найм здесь и сейчас

Читать полностью…

Локалхост (Никита Куликов)

Запросил у Google данные, которые обо мне собирают. Сделал это для визуализации моего местоположения через этот сервис.

Поразил размер данных, которые есть на меня у гугла. И это текстовые очень сильно пожатые архивы, которые, как говорит гугл, не всеми системами поддерживаются (т.е. сжатие очень сильное).

Запросить свои данные у гугла можно тут: https://takeout.google.com

Читать полностью…

Локалхост (Никита Куликов)

Сегодня в 14:50 буду обсуждать с Михаилом Левченко FOMO в Яндексе.

Страх пропустить что-то новое, не успеть за технологиями, остаться позади.

Приходите, будет интересно. Есть возможность задавать вопросы.
https://youtu.be/7BAQHAKtWXU

Читать полностью…

Локалхост (Никита Куликов)

Как выглядит пейринг Flipper’а. @artmine делает чудеса)

Читать полностью…

Локалхост (Никита Куликов)

На этой неделе я буду вести коллективный твиттер - Мобильный разработчик.

Это первый раз, когда я настолько плотно буду публиковать контент. Очень надеюсь что получиться.

По плану на этой неделе будут
- Инсайды с работы во Flipper
- Инсайды с работы в Яндексе/Mailru/Snap (Chromium/Авторизация/Кодеки)
- Много набросов на хайповые темы (так же надо в твиттере, да?)
- Нытье про выгорание и проблемы разрабов. Но это под конец

Читать полностью…

Локалхост (Никита Куликов)

Идет медведь по вебсайту, видит — тоггл не горит…

Читать полностью…

Локалхост (Никита Куликов)

Промокод для Notion на 500$
ADALOVELACE
Работает даже с пустым балансом на карте

На самом деле, это не совсем легально, так что пользуйтесь на свое усмотрение: /channel/slashdesigner/724

Читать полностью…

Локалхост (Никита Куликов)

На dtf нашел ссылки на бесплатную подписку на сервисы Apple. Работает даже для существующих пользователей.
iCloud (50GB, 3 мес): https://redeem.apple.com/mts?retail2021
Apple Music (до 5 мес): https://redeem.apple.com/svasnoymusicinstore
Apple Arcade (до 5 мес): https://redeem.apple.com/svasnoyarcadeinstore

Читать полностью…

Локалхост (Никита Куликов)

Иногда бывают случаи когда нам нужно печатать текст, не печатая текст. Например, сейчас мне нужно перехватывать нажатие на кнопку backspace на software клавиатуре Android и без невидимых символов сделать это невозможно (по крайней мере, гуглу такие способы неизвестны).

Во многих играх и программах можно использовать невидимые символы для имени или ника.

https://invisible-characters.com/

#resources

Читать полностью…

Локалхост (Никита Куликов)

У браузеров есть технология для P2P (peer to peer) соединения между двумя клиентами - WebRTC.
Это позволяет чатиться, обмениваться данными и прочим друг с другом без использования сервера.

Почти без использования сервера. Дело в том что для первоначальной установки соединения все-таки требуется сервер, так как требуется “пробить” NAT (грубо говоря, к вашему компьютеру нельзя достучаться из сети просто так).

Так вот - мой коллега, фронтэндер, сделал P2P терминал для Serial порта. Это значит что вы можете открыть свой браузер, подключить устройство к usb и перекинуть этот доступ другому человеку, просто кинув ссылку. И все это работает без своего сервера.

Магия тут заключается в том что в качестве сервера используются announcement сервера Torrent-трекеров. Это те же сервера, которые помогают вам скачивать через .torrent файлы.

Это просто фантастика! Вот сама библиотека - https://github.com/subins2000/p2pt

Читать полностью…

Локалхост (Никита Куликов)

Шок контент, на Google IO показали все шесть приложений под WearOS

Читать полностью…

Локалхост (Никита Куликов)

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

https://habr.com/ru/company/mvideo/blog/652843/

Читать полностью…

Локалхост (Никита Куликов)

Великолепный “баг” в Github Actions

Если указывать версии в yaml Github Actions в виде цифр, то при парсинге они сплющиваются (неожиданно) до чисел.
Пример из статьи:

У нас есть версия Ruby 3.0.*, в Github Actions мы указываем 3.0
Ожидание: Будут качаться версии 3.0.*
Реальность: Качаются все версии, начинающиеся с тройки - 3.*

Все потому, что 3.0 для скрипта приравнивается к обычной тройке. Фикситься это, если версию поместить в кавычки, тогда парситься это будет как строка - '3.0'

Подробнее тут

Читать полностью…

Локалхост (Никита Куликов)

Удивительно как долго их делали в клиентах. Но теперь в последних бета клиентах телеграма уже можно ставить эмоции. Выглядит вот так:

Читать полностью…

Локалхост (Никита Куликов)

Играюсь с Flipper Zero и Midi. Worst synth ever.

Читать полностью…

Локалхост (Никита Куликов)

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

Читать полностью…

Локалхост (Никита Куликов)

Мы (FlipperDevices) проводим хакатон в Москве.

Это отличная возможность потыкать девайс, которого пока ни у кого нет и пообщаться с командой разработчиков.
Ну или просто вступайте в @FlipperHackathon2021

Подробная информация тут:
https://habr.com/ru/company/flipperdevices/blog/589585/

Читать полностью…

Локалхост (Никита Куликов)

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

Подписывайтесь на маленький и уютный локалхост, тут рекламы нет 🌚

Читать полностью…

Локалхост (Никита Куликов)

Особо горячий эксклюзив принесу ещё и сюда из твиттера. :) Эволюция Flipper Zero

Читать полностью…

Локалхост (Никита Куликов)

Breaking news - Mail.ru Group переименовался в VK Group. Хорошо что Mail.ru поддерживает маленькие кондитерские фабрики:
http://vk.ru/

Читать полностью…

Локалхост (Никита Куликов)

Подкасты Spotify запустились в России 🇷🇺

Читать полностью…

Локалхост (Никита Куликов)

Забавные нюансы офиса в историческом здании (наш офис входит в топ старейших зданий Москвы):
- Каждое утро приходит мужик с ведром и прогоняет воду, чтобы вода горячая вода была и можно было мыть руки. Процесс занимает 30+ минут.
- Наш офисный туалет отмечен на Яндекс картах.
- Офис на третьем этаже, туалет на первом
- Высота ступенек на лестнице разная
- Со стен отваливаются куски
- Кондиционеры только напольные, проветривание только через форточку
- Пробираешься ко входу через толпу туристов
- По пятницам вечером невозможно работать, шум на улице и музыка. Особенно по дням, когда снимают ЧБД (на первом этаже нашего офиса снимают ЧБД)
- Иногда охранник не пускает тебя в твой офис, потому что "у нас закрытое мероприятие, вы не проходите по дресс-коду"
- Твой офис есть в википедии - https://ru.wikipedia.org/wiki/%D0%9F%D0%B0%D0%BB%D0%B0%D1%82%D1%8B_%D0%A3%D0%BA%D1%80%D0%B0%D0%B8%D0%BD%D1%86%D0%B5%D0%B2%D0%B0

Читать полностью…

Локалхост (Никита Куликов)

Я: Вот бы мне простой пример по общению с BLE-устройствами
Android: вот тебе пример мигания светодиодиком на 1400 строк

Читать полностью…
Subscribe to a channel