Блог компании mxkmn inc.
97 subscribers
30 photos
6 videos
23 links
Возможны долгие перерывы от творчества. Канал не заброшен. Отписывайся, только если тебе всё это не близко
Download Telegram
Для тех, кто интересовался: ритуал посвящения в рабы системы пройден, поздравлять не требуется.

Сильно удивлён, что дипломную работу можно писать как чувствуешь, а не по бестолковым методичкам как в случае с курсачами. Времени ушло куча (35 страниц текста), но внутри даже почти не стыдно, можно понять чем я занимался и лишнего мало. Закинул на гитхаб (ссылка в описании канала), вдруг кому интересно. Ну а ещё она у меня в розовом 😎

Внутри про небольшое, но крайне полезное приложение, писал его по работе - карта местоположения сотрудников, которые перемещаются с трекерами там, где нет интернета и связи. Так как мы в итоге решили взять наработки проекта Meshtastic (направлен на построение защищённой ячеистой сети при помощи трекеров, схожих с нашими), пришлось разбираться с исходниками официального приложения - там в одном файле может влёгкую находиться 5к строк говнокода. В общем интересный проект, было весело)

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

Ну а сам ВУЗик это конечно жесть, никто так и не понял кого из нас пытались сделать, учили как умели. Буду рад, если корка пригодится в других странах.

А, ещё кое о чём позабыл. Ради попадания в рейтинг 100 лучших выпускников был написан Великий Пост, но бумажку об этом (так называемое благодарственное письмо) нам всем не выдали, как я понял краска в принтере закончилась. Не верю, что не попал в него, ведь в рейтинге всего 70 человек участвовало 🤷‍♂️
👍7🔥1
Тусовки Глотки - возможно единственное, по чему я буду скучать вне Иркутска. Там все добрые и весёлые. Хотя ради такого можно и возвращаться.

6-7 июля, среди лесов, забытых и заброшенных, побывал на их ежегодном фесте (впервые). Музыка своеобразная и не очень, прошу к просмотру. Особо запомнился шашлык из козла, которому сбежавшая собачка организаторов перегрызла шею на горе днём ранее 🥰 (мясо классное и долго жуётся)
🔥5👍1
Нежданно-негаданно пост, который я делал чтобы напомнить друзьям, что я ведроид-разраб, оказался на канале Кирилла Розова и увеличил аудиторию моего блога вдвое. Теперь большая часть аудитории - разрабы, среди них 85% пишут под андроид. Приятно получать от уважаемого человека такой подгон, спасибо ему.

И хотя акцент именно на прогерстве я не ставлю, сегодня хочется вновь затронуть тему, связанную с ним. Она весьма задротская, не-программистам возможно читать и не стоит, #тяжёлыйконтент:

Опенсорс отвратителен

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

Я нисколько не преувеличиваю: если вы попытаетесь найти по ключевым словам что-то, что вам требуется, через поиск гитхаба, то увидите, что большинство найденных репозиториев - в лучшем случае пустые, в худшем - не компилируются и лишь делают вид, что достойны вашего времени. Issues могут игнорироваться, pull request'ы не принимаются (тру стори). На деле достойных репозиториев единицы, искать их ужасно тяжело.

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

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


Ситуация, когда вы что-то делаете вроде как для всех, но не получаете какого-либо профита в виде использований вашего проекта другими людьми, не получаете звёзд, пулреквестов с фиксами багов и добавлением функциональности - это обыденность. Смотря на чужие проекты, даже после публикации проекта в тематических каналах вроде Android Broadcast абсолютный мастхев набирал ну максимум 30 звёзд и пару не особо важных Issue (я про суперполезные библиотеки и расширения, а не тупые семплы кода).

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

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

Гитхаб - для 99% случаев лишь распиаренная помойка сомнительных проектов, не дружащая с гуглом. Опенсорс - сейчас просто баззворд, с изначальными преимуществами сталкивается лишь 1% проектов, у всех остальных судьба - просто тухнуть и умереть в безызвестности. Кажется, всем нам нужна альтернатива.

Рекламная супер-ссылка!
чё повелись да? ахахахах ахахахаха
👍2😁2🔥1
Опенсорц? Статьи? А может лучше…

#тяжёлыйконтент

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

На самом деле ответ у всех перед глазами. Почему о нём никто не говорит - загадка. Этот ответ - StackOverflow.

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

Вы наверное щас думаете что-то вроде "блин, это нужно заходить и отвечать на дурацкие вопросы, в которых сам толком не секу?" - вообще нет!

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

Кто-то уже сталкивался с проблемой? - просто добавь своё решение. А если ты столкнулся с ней впервые, то можно создать вопрос и сразу на него ответить (это возможно прям при создании вопроса, через отдельную галочку).

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

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

Потихоньку добавляю свой опыт, за 18 месяцев я успел добавил 18 ответов - сейчас у меня 383 репутации, 83к просмотров. Пока всё ещё ощущается будто это немного, но этого хватило, чтобы в апреле появилась плашка "вы в 5% топе по влиянию в 2024-ом". Заскринить не догадался, сейчас её там нет, но блин, всё равно круто же!

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

Полные фрагменты кода - скопируй и вставь
Замена Accompanist Permissions: получение разрешений в Jetpack Compose через одну строку с удобными коллбеками после полной/частичной выдачи или перманентного запрета на доступ (единственное решение, которое работает одинаково отлично на всех версиях Android!!)
Запись/чтение документов при помощи Storage Access Framework
Создание .xlsx таблиц без библиотек
Офигенно удобный Base-класс для работы с Bluetooth Low Energy, совместимый с KMP - с ним можно на изи написать взаимодействие с BLE устройством за час

Фикс косяков
Восстановление работы вечно отваливающегося Wi-Fi ADB
Как создавать рабочие PeriodicWork через забагованный WorkManager (на ловлю крысы у меня ушёл месяц) - внутри параметр, который ни в коем случае нельзя использовать, указание что включать на китайских мобилах чтобы всё точно работало, а также правильное подключение библиотеки через Dagger Hilt
Устранение бага в Compose, из-за которого WindowInsets выдаёт 0dp и интерфейс дёргается при первой отрисовке кадра

Полезное
Добавление action-кнопок в Android Studio - ввод команд в терминал через один клик по небольшой кнопке
Как я оформил аккаунт Google Play из России в 2024
Удаление лишних ресурсных файлов из APK, почему-то не включенное из коробки (вы это уже видели - ссылка для тех, кто хочет поставить апвоут)

Бонус: мои gists (ибо не формат StackOverflow), не относящиеся к андроид-разработке
Полезные настройки Visual Studio Code - вручную просмотрены и проверены (почти) все параметры, после чего выбрано более сотни, которые реально будут влиять на удобство. Абсолютный мастхев для всех, у кого установлен VSCode. Когда-то я пользовался только этим редактором и потратил на тщательную настройку более месяца.
Настройка Android Studio - просто выписал для себя когда пришлось накатить студию с нуля, вряд-ли будет шибко полезно остальным, но…
🔥4👍2
Дорогие друзья!

В рамках диверсификации бизнеса был поставлен вопрос: стоит ли рассмотреть приобретение заправки? Откуда вообще берётся бензин, предлагают ли поставщики бензинопроводы? Снятся ли бензоколонкам электроовцы?

А может автомойка является более прибыльным бизнесом, либо окупаемость наступит быстрее? Что думаете?
😁4🤔1
Как же хорошо
Проехал 111 км!

По времени - с 17:30 до 6:00, то есть 12,5 часов.

Где на скринах ещё 7 км? Ну, galaxy watch4 кусок корейского говна на моей руке опять подвёл, так как в какой-то момент на паузе путь не посчитался (к счастью, телепортация и пруфы сохранились). Впрочем, изначальная цель была 100 км, она на скрине зафиксирована, уже достаточно для флекса.

Колено начало щёлкать на середине пути, можно было заныть и прекратить, но это для нытиков, очевидно. Надеюсь всё будет ок.

Рад, что не слился и довёл цель до конца, но дальше надо думать не над увеличением циферок, а над другими идеями - например, доехать из одного крупного города в другой. Оказалось, весь день крутить педали ради большой циферки - ну такое).
🔥11
Моя поездка началась!

Напомню, после окончания университета хотел свалить в сторону столиц, параллельно заезжая во все интересующие города. Сейчас у меня в планах посещение 3-5 городов между начальной и конечной точкой в лице Иркутска и Питера.

Люблю свободу, практикую получение удовольствия от каких-то приземлённых вещей. Изначально рассказывал, что хотел бы организовать поездку в кочевнических условиях - подразумевал под этим перемещения автостопом, просмотр всех маломальски больших городов на пути, чувствовать ту самую романтику из рассказов попробовавших. После оказалось, что:
– среди близких людей так терялись люди (всё таки небезопасно);
– интересных городов в стране не так уж и много (если не оставаться в малоинтересных городах, в среднем придётся ехать по 1500 км - непонятно как спать, как не умереть от возможных проблем в пути);
– сумкой дело не обойдётся - беру с собой большой чемодан со шмотками, для которого явно понадобится багажный отдел (он найдётся не у всех). К слову, ноут не брал - пора наконец начинать настоящий отдых, наличие возможности что-то создавать этому сильно мешает.

Короче, не вариант. Дальше выбор между поездом и самолётом:
у самолёта гемор и ожидание в аэропорту, отсутствие удобств и неудобное время прилёта, стоимость как до столицы (на ~10к дороже поезда) и плюс чёт они в последнее время не вылетают/жёстко задерживаются - это касается и Иркутска, и Новосиба;
в поезде можно поспать, периодически доступен интернет, а вокзал находится в пешей доступности от центра и моей гостиницы, из минусов - кровать рассчитана на карликов (если вы не худы как пятилетний ребёнок и рост у вас больше 170см, то будет тяжело даже в купе). То, что едет на сутки дольше, легко вывести в плюс - есть время почитать книгу или написать этот пост.

Окей, выбираем поезд. Есть причина оказаться в Новосибирске 17-ого августа, что обозначает, что мой поезд выезжает 14-ого (один день будет в запасе). Покупаю билет за 1.5 суток до отъезда, ложусь спать. Просыпаюсь, успеваю собрать всё важное в чемодан, доделать последнее из того, что нужно было успеть в городе, но на сон времени не остаётся. Благодаря 30 часам без сна случайно выравниваю режим.

Обещаю не спамить. Вероятнее всего будет один пост на каждый город, и по классике, в комментах - дополнительная информация, фотографии, обсуждения.
🔥41