Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 1 month ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month, 3 weeks ago
Запускал тут на днях Идею, а она мне пишет рядом с каждым полем количество его использований. Прям английским по белому:
```
public char[] readBuf; 22 usages
public char[] accumulator; 14 usages
public int accumulatorLength; 20 usages
```
Вопрос: а зачем?
У меня, конечно, есть версия. Моя версия — потому что может.
В какой-то момент разработка ИДЕ уперлась в стену — вроде бы все что смогли придумать сделали, все сравнялись по фичам, а продавать продукт как-то надо. То есть надо пользователя как-то убедить, что а) ему нужны фичи, и б) у нас их больше чем у других. Делать что-то, неважно что, лишь бы у других этого не было. И началась гонка фичей. В этой гонке никто не задавался вопросом «а надо ли». Больше — значит лучше. Тогда же возникла мантра «не нужно? не пользуйся, тебя же не заставляют».
Но в новом году я хочу практиковать открытый майндсет. Вдруг я не самый умный, не самый правый, не самый догадливый? Вдруг я чего-то не знаю? Вдруг я в чем-то не прав?
Шансы, конечно, невелики, но я готов это признать при наличии убедительных доказательств.
Давайте попробуем. Объясните мне, какая польза от этих аннотаций.
Н И К А К О Й
Раздельная клавиатура, сплит, ортолинейная клава или задротская херня для мальчиков с "особенностями".
Это второй текст из серии постов про вещи, которые изменили мою жизнь на "до" и "после" в этом году.
Согласен, предыдущая мысль про Neovim -- штука не для всех. Все эти моушены, терминальность, кастомизируемость не являются "базой". Это как фломастеры, которые, как мы знаем, на вкус и цвет все разные.
Но слепая печать. Это, друзья, база.
Следующим шагом после слепой печати идет клавиатура. Современные попсовые клавы -- это больше про эстетику и про "хобби", нежели чем про эффективность и тем более про эргономику и комфорт. Сомневаюсь, что у такой штуки получится разделить вашу жизнь на "до" и "после".
Почему это так? Интернет полон статей и видосов на эту тему. Посмотрите у меня на канале блок про сплит клавиатуры с Ильей.
Ключевое отличие сплит клавиатур от обычных -- (нет, не то, что она состоит из двух половинок) это ортолинейность. Кнопочки располагаются так, как наши пальчики двигаются. Its sooo simple, right? Штука, которая является одной из самых важных в нашей работе, наконец-то, стала учитывать особенности наших рук. Ваааy!
Еще из плюшек таких клав -- их можно программировать. Я могу установить прошивку, в которой специальная кнопка отвечает за переключение языка, рабочего стола, переход в командный режим tmux, открытие там же соседней панели. Буквально все, что мне придет в голову.
Да и переход на сплит совершенно не такой болезненный, как думается вначале. Пару дней тупнежа, а потом очухиваешься в состоянии, когда фигачишь текст коллеге не думая о кнопках, а думая о тексте, -- это и есть то, что делит жизнь на "до" и "после".
В Твиттере Тагир показывал, как они научили Идею генерировать javadoc комментарии к методам. И все бы ничего, если бы не пример: на метод
```
public static @Nullable T getLastElement(T @Nullable [] array) {
```
оно сгенерировало
```
/
Returns the last element of the provided array.
@param array the array from which the last element is requested. It can be null.
@return the last element of the array, or null if the array is null or empty.
*/
```
Когда уже разработчики поймут, что такие вот ничего не добавляющие тавтологические комментарии — вред, а не польза. Все, буквально все, что написано в комментарии, есть тупо в сигнатуре метода, причем в три раза короче. То есть вы только что заставили меня прочитать в три раза больше текста, чтобы не узнать ничего нового. ЗАЧЕМ? Вам что, за буквы платят?
Неудивительно, что в дефолтной теме в Идее комментарии рисуются сереньким. Типа, они конечно есть, но мы все в глубине души понимаем, что там булшит и никто его читать не будет.
Понимают — но делают и продолжают делать.
База от Никиты.
Залетайте на стрим, будет интересно ?
В общем тут Илье Бирману нужно было текст регулярно переформатировать, типа из
```
0:00 — Кнопки «Полезно» и «Непонятно»
5:56 — Гениальность реакций в Телеграме
9:07 — Подсветка ссылок при наведении и постоянная Арутюнова
...
```
сделать
```
|0:00 |Кнопки «Полезно» и «Непонятно» |
|5:56 |Гениальность реакций в Телеграме |
|9:07 |Подсветка ссылок при наведении и постоянная Арутюнова |
...
```
(странные пробелы Бирмановские, у него спросите, почему так некрасиво)
У него пост про то, как он пытался ЧатГПТ заставить, а я задумался — а как бы выглядело идеальное решение?
Допустим, конкретно в этом случае все делается в Sublime Text за условные 20 секунд с мультикурсорами и поиском по регэкспу (кто говорил, что регэкспы не нужны? а? а? там в комментах кто-то переживал, что может тоже бы так делал, если бы регэкспы знал. То-то).
Но все равно это немножко нетривиальная операция, которую как-то глупо каждый раз делать заново вручную.
В то же время задача достаточно простая, чтобы прям сесть и писать под нее целую программу. Я когда на что-нибудь такое загоняюсь, потом сам забываю через пару раз, что где-то у меня лежит скрипт, который это автоматизирует. Плюс, у скрипта че-нить отвалится обязательно, или он не в PATH окажется, или макос обновится, или еще что-то. Плюс как ему текст скормить — файл, что ли, создавать новый? Че-то как-то слишком много трения.
Но мне кажется это очень показательно, именно простота задачи, которая требует простоты решения. Потому что супер-сложные задачи — ну скачать программу. Сложные — напиши скрипт. Тривиальные или неповторяющиеся — делаешь вручную за 5 секунд и не паришься. А что-то посередине — как?
В общем, идеальное решение. Как будто действие должно происходить сразу в текстовом редакторе. Потому что создавать где-то еще файл и потом его куда-то передавать — ну это слишком муторно уже.
У редактора должна быть какая-то простая очень автоматизация. Типа, открыл какое-то понятное место и сразу дописал туда функцию. Прям без всяких интерфейсов, без всякой хуйни, просто файл с кодом, дописал в него условную
```
function formatTimestamps(s: string): string {
...
}
```
и у тебя сразу у выделенного текста в контекстном меню появился пункт Automation -> Format Timestamps.
Если я правильно понимаю, Емакс так работает (да, мы опять изобрели Емакс). Только это, ну, Емакс.
Еще что-то похожее есть в Roam Research. Там есть страницы твоих заметок, но если создать специальную страницу roam/js, то на ней можно писать код и он будет исполняться. Правда, в контекстное меню эти команды не попадут вроде бы, так что непонятно, как ими потом пользоваться. Но писать можно :)
У VS Codе был шанс сделать нормальный современный Емакс, но они чет не пошли в ту сторону — нужно миллион шагов предпринять, что бы оформить свою функцию из трех строчек в «плагин». Для чего-то большого оно может и стоит того, но для микрофунции типа formatTimestamps — явно нет.
В общем, буду делать свой редактор слэш тул фо тотс обязательно запилю максимально беспрепятственную автоматизацию. Чтоб на кончиках пальцев.
Через 15 минут будем стримить про 1BRC (One Billion Row Challenge)
Задача - прочитать файл с миллиардом строк и посчитать некоторую статистику по файлу.
Попробуем разобраться как удалось сократить время работы Java программы от 71 секунды до 1.7 секунды
Architec.Ton is a ecosystem on the TON chain with non-custodial wallet, swap, apps catalog and launchpad.
Main app: @architec_ton_bot
Our Chat: @architec_ton
EU Channel: @architecton_eu
Twitter: x.com/architec_ton
Support: @architecton_support
Last updated 1 month ago
Канал для поиска исполнителей для разных задач и организации мини конкурсов
Last updated 1 month, 3 weeks ago