Душный интерпрайз

Description
Мысли не равнодушного инженера

Подкаст Тысяча Фичей

Ютуб https://www.youtube.com/@apkhmv

Автор @apakhmv
Advertising
We recommend to visit
HAYZON
HAYZON
5,791,257 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

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

1 Woche her

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

```

public char[] readBuf; 22 usages
public char[] accumulator; 14 usages
public int accumulatorLength; 20 usages

```

Вопрос: а зачем?

У меня, конечно, есть версия. Моя версия — потому что может.

В какой-то момент разработка ИДЕ уперлась в стену — вроде бы все что смогли придумать сделали, все сравнялись по фичам, а продавать продукт как-то надо. То есть надо пользователя как-то убедить, что а) ему нужны фичи, и б) у нас их больше чем у других. Делать что-то, неважно что, лишь бы у других этого не было. И началась гонка фичей. В этой гонке никто не задавался вопросом «а надо ли». Больше — значит лучше. Тогда же возникла мантра «не нужно? не пользуйся, тебя же не заставляют».

Но в новом году я хочу практиковать открытый майндсет. Вдруг я не самый умный, не самый правый, не самый догадливый? Вдруг я чего-то не знаю? Вдруг я в чем-то не прав?

Шансы, конечно, невелики, но я готов это признать при наличии убедительных доказательств.

Давайте попробуем. Объясните мне, какая польза от этих аннотаций.

1 Woche her

Н И К А К О Й

2 Wochen, 1 Tag her

Раздельная клавиатура, сплит, ортолинейная клава или задротская херня для мальчиков с "особенностями".  

Это второй текст из серии постов про вещи, которые изменили мою жизнь на "до" и "после" в этом году.

Согласен, предыдущая мысль про Neovim -- штука не для всех. Все эти моушены, терминальность, кастомизируемость не являются "базой". Это как фломастеры, которые, как мы знаем, на вкус и цвет все разные. 

Но слепая печать. Это, друзья, база.

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

Почему это так? Интернет полон статей и видосов на эту тему. Посмотрите у меня на канале блок про сплит клавиатуры с Ильей.

Ключевое отличие сплит клавиатур от обычных -- (нет, не то, что она состоит из двух половинок) это ортолинейность. Кнопочки располагаются так, как наши пальчики двигаются. Its sooo simple, right? Штука, которая является одной из самых важных в нашей работе, наконец-то, стала учитывать особенности наших рук. Ваааy!

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

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

2 Monate, 3 Wochen her
Через пол часа пристально смотрим на …

Через пол часа пристально смотрим на KTor.

https://t.me/staff_engineers/64

3 Monate her

В Твиттере Тагир показывал, как они научили Идею генерировать 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.
*/

```

Когда уже разработчики поймут, что такие вот ничего не добавляющие тавтологические комментарии — вред, а не польза. Все, буквально все, что написано в комментарии, есть тупо в сигнатуре метода, причем в три раза короче. То есть вы только что заставили меня прочитать в три раза больше текста, чтобы не узнать ничего нового. ЗАЧЕМ? Вам что, за буквы платят?

Неудивительно, что в дефолтной теме в Идее комментарии рисуются сереньким. Типа, они конечно есть, но мы все в глубине души понимаем, что там булшит и никто его читать не будет.

Понимают — но делают и продолжают делать.

3 Monate her

База от Никиты.

6 Monate her

Залетайте на стрим, будет интересно ?

6 Monate, 1 Woche her
6 Monate, 3 Wochen her

В общем тут Илье Бирману нужно было текст регулярно переформатировать, типа из

```

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 — явно нет.

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

8 Monate, 2 Wochen her

Через 15 минут будем стримить про 1BRC (One Billion Row Challenge)

Задача - прочитать файл с миллиардом строк и посчитать некоторую статистику по файлу.

Попробуем разобраться как удалось сократить время работы Java программы от 71 секунды до 1.7 секунды

https://questdb.io/blog/billion-row-challenge-step-by-step/#optimization-6-eliminate-startupcleanup-costs

We recommend to visit
HAYZON
HAYZON
5,791,257 @hayzonn

👤 𝐅𝐨𝐮𝐧𝐝𝐞𝐫: @Tg_Syprion
🗓 ᴀᴅᴠᴇʀᴛɪsɪɴɢ: @SEO_Fam
Мои каналы: @mazzafam

Last updated 1 month, 1 week ago

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