Pull to refresh
196
0.2

Программист

Send message

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

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

Ниже как оно у меня (надеюсь кому-то помогу и буду рад ещё что-нибудь узнать в ответ):

Я бы не сказал, что компилируемые языки сами по себе дают долгую обратную связь. Пишу на Scala, Kotlin, C++. Как будто важнее то, как организована разработка, а не язык.

Помогает то, что ide подсвечивает ошибки ещё до компиляции + статическая типизация помогает про часть вещей не думать (например, nullability в котлине не даст передать null если функция его не ждёт, или заставит проверить на null если объект может быть нулём). Если система типов достаточно мощная и код компилируется, то как будто часть проблем снимает.

Ещё люблю делать простые классы на 20-100 строк и давать им и переменным в нормальные имена, не упарываясь в то, чтобы упихать всё состояние в один гига-класс или в функцию на тысячу строк. Вообще в программировании предполагается что так и надо, но как будто некоторым людям огромные классы или функции доставляют меньше неудобств.

Время обратной связи и начилие посторонних факторов сильно влияют.

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

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

Ещё обращал внимание, что если какие-нибудь тесты идут полчаса-час, то на другие задачи с кодом лучше не переключаться - контекст вылетит из головы и при возврате начну ошибаться.

И ещё просто сложно вести разработку одновременно над чем-то одним в нескольких ветках. Как будто всё сделанное (например, переименование класса) сохраняется в долговременную память, и когда в другой ветке этих изменений ещё нет (а они допустим нужны), получается сильный дискомфорт и каша в голове. Намного удобнее trunk-based development и вливать изменения в мастер как можно чаще.

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

Ещё, как ни странно, мне очень нравится Linux. Потому что он после настройки предсказуемо работает, не занимается никакой самодеятельностью и не отвлекает.
Шлю лучи ненависти майрософту, которые в пуск пихают рекламу, курс акций, погоду, показывают какие-то уведомления в углу, пихают в центр экрана окна с вопросами типа "не хотите ли включить one drive" или начинает что-нибудь сканировать в фоне или искать вирусы. И лазить по куче менюшек и тыкать всякие кнопки, чтобы поменять настройку или поставить софт, тоже сильно менее удобно, чем написать команду в консоли типа "sudo apt install gcc" (сравните это с установкой msvc). (Уведомления винды в неподходящие моменты это тоже ужас)

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

Удобнее работать на нескольких мониторах, а не переключаться через alt+tab на одном. Перевести взгляд или подвинуть мышку сильно проще, чем в alt tab крутиться до нужного приложения.

Очень помогают музыка (тут надо подобрать, от разной по разному) и наушники с шумоподавлением (особенно в open space, люди вокруг сильно мешают).
Из того что недавно включал - https://www.youtube.com/watch?v=qObvGNVLNfg

Скорее всего и с обычным мозгом так же, только влияние сильно меньше выражено.

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

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

И не надо отождествлять абстрактную группу "читателей" с теми кто ставит оценки - от того, что условные 50 человек поставили плюс, не следует что статья хорошая и понравится остальным. Например, потому что у корпоративных блогов бывает по 50-100 сотрудников, они могут нарисовать любой рейтинг.

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

Перешёл на переключение раскладки по caps lock. Потому что всё равно капс лок почти не использую, и если вдруг понадобится, то нажму shift+caps. Намного удобее, чем нажимать две клавиши.
Теперь мне такой возможности люто не хватает в винде.

Двоичный поиск занимает O(log n), что теоретически хуже, чем O(1). Так написано в учебниках. Мой преподаватель алгоритмов был бы разочарован. ...
Они подразумевают, что все операции доступа к памяти стоят одинаково. Они подразумевают, что операции выполняются изолированно. Они подразумевают работу на идеальном компьютере, которого не существует.

Конечно преподаватель будет разочарован, у O-нотации другой смысл. Она ничего не подразумевает. Она описывает асимптотику и не говорит про реальное время. Она отвечает на вопрос "как изменится вычислетельная сложность алгоритма при изменении размера входных данных, когда n достаточно большое"

При фиксированном N O-нотация не обещает, что O(1) будет быстрее O(log N). Она обещает, что в пределе при N стремящемся к бесконечности, O(1) будет быстрее.

Доказательство того, что какая-нибудь quick sort в среднем работает за O(N log N), уже довольно сложное, если там пытаться ещё какие-то особенности процессора учитывать, то это будет ад. Вдобавок один и тот же математический алгоритм (типа хеш-таблиц) можно сильно по-разному сделать и получить сильно разную производительность. А ещё в зависимости от входных данных одна и та же хеш-таблица тоже будет иметь разную производительность. Одна и та же хеш-таблица с 70% заполненности и с 10% будет иметь сильно разное количество коллизий и скорость работы.

Например, есть подходы типа perfect hash: https://en.wikipedia.org/wiki/Perfect_hash_function - там коллизий вообще не будет и поиск в таблице гарантированно за O(1)

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

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

Тут довольно самобытно, потому что Сербия не в ЕС.

Налоги относительно небольшие (не Германия), налог + пенсионные + ОМС в сумме 30% или меньше (в зависимости от возраста и дохода за год).
По недвижимости ближе к РФ - можно купить жильё и потом через 8 лет продать без налогов, либо можно его избежать, если после продажи купить новую квартиру подороже в тот же год. (нет маразма как в Германии с налогом в 40% даже если квартира от родителя к ребёнку перешла). По жилью можно получить ВНЖ.

По ценам - что-то дешевле и доступнее, что-то нет. Страна 7 млн населения со своей таможней и правилами, рынок маленький и ради него не особо заморачиваются. На таможне электроника получает +32% к цене товара + доставки, но в качестве обходоного пути - есть те, кто в чёрную возят из соседней Венгрии или из Германии, налогов не платят и цена заметно ниже.

Еда хорошая и вкусная.

Б/у машины из Европы недорогие (очень примерно - за 10к евро можно взять гольф или ауди 2015 года), новые тоже везут. Зимой снега почти нет, солью дороги не посыпают и машины не ржавеют. Чтобы зарегистрировать машину в Сербии на себя, надо иметь ВНЖ. Ещё можно первые полгода-год ездить на номерах РФ (будут приключения чтобы машину доставить через ЕС и с тем чтобы оформить страховку, но кто-то так делает)

По банкам - кривые, неудобные, но к счастью можно использовать наличку (например, платить ей за квартиру). Так сильно проще переехать (в Германии возможен замкнутый круг, когда банк хочет прописку, арендодатель - сначала залог и квартплату на карту, а карты из РФ не работают).

Какие-то старые соглашения между СССР и Югославией всё ещё работают, поэтому документы типа дипломов/справок и т.п. апостилировать не надо (но иногда надо переводить). Первые 30 дней россиянам безвиз. Если вдруг очень надо больше, можно съездить в Черногорию и через день обратно.

Есть прямые рейсы из Белграда в РФ. Дорого, потому что народ из ЕС в РФ летит через Сербию и спрос большой.

По работе в IT - есть немножко русскоязычных компаний типа яндекса/варгейминга, есть офисы Майкрософта и Хуавея.

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

Жить безопасно, можно ночью спокойно гулять по городу.

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

И ещё гражданство Сербии обычным россиянам фактически не выдают. Закон есть, но есть люди, которые отказались от российского, а потом Сербия передумала выдавать и они зависли в состоянии без гражданства. Может в будущем что-то изменится, но сейчас так. Есть какие-то обходные пути, некоторые олигархи из РФ как-то получили гражданство Сербии в качестве второго и продолжили кататься в ЕС, но обычным людям ничего не светит.

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

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

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

А ещё я чуть-чуть попробовал преподавать, когда уже закончил институт - и осознал, что ученики и общая атмосфера влияют очень сильно. У меня было две группы первокурсников с одного и того же факультета, но в одной группе студенты задавали интересные вопросы и вообще приятно удивляли интересом к предмету, в другой - наоборот было как-то невесело, хотя казалось бы начальные условия максимально одинаковые.
Когда заинтересованные школьники оказываются в чём-то типа физмат школы, оказывается что и преподаватели видят отклик от учеников и готовы им рассказывать сложные вещи, и школьники видят таких же мотивированных ребят рядом и тянут друг друга.
В обычной школе учитель вряд ли будет рассказывать на уроке что-то продвинутое для 2-3 учеников в классе - там цель наоборот, чтобы поняли все.
Если посадить умного ребёнка в класс с раздолбаями - ему будет скучно и никуда он "средний" уровень класса не поднимет, скорее сам застрянет на их уровне.

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

То что Вы описали - это ужас какой-то. Я закончил школу в 2011 году, участовал в разных олимпиадах в 6-11 классах, потом помогал их проводить, когда учился в МФТИ. И для меня это была заметная часть жизни и возможность самореализации.

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

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

И ещё я подозреваю, что не во всех областях была хорошая организация, например я замечал, что участников на всерос по физике из Москвоской области ехало немного, но почти все из нас занимали призовые места. А вот среди участников из Москвы, например, оказывалось заметное количество странных ребят, которые потом на всеросе не могли решить ни одной задачи.

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

А ещё backspace это удалить.

В нормальном софте enter и backspace это "зайти в папку/открыть файл" и "выйти в родительскую папку", не знаю как они додумались до удаления.

Ну кстати возможно, что было бы интересно не только байткод для BEAM поддерживать, а иметь несколько таргетов (возможно, в виде простой генерации кода для Java/C++), потому что в программе вполне часто получается, что есть и какой-то стрёмный код который трогать не хочется, и какая-нибудь подсистема, которую наоборот хочется сделать максимально строгой и верифицируемой.

P.S. Прекрасно вас пойму, если будете поддерживать только BEAM, потому что много таргетов поддерживать сложнее.

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

Нет, не работает.
Во-первых, администрация умеет удалять комментарии под постами без плашки про НЛО и делает это. Для примера - вот в этой корпоративной статье были комментарии про принадлежность компании к икс-холдинг, (и мой в том числе), который производит СОРМ. Сейчас этих комментариев нет: https://habr.com/ru/companies/yadro/articles/964952/

Во-вторых на хабре есть лимит на количество минусов в день и вроде 2 минуты между минусованием кармы. Т.е., минусовать авторов нейрослопа можно, но сам в процессе задолбаешься и массово этим никто не занимается. И минусы статьям тоже не сильно удобно ставить - вылазит окошко типа "отметьте за что".

Что интересно, на плюсы лимита вроде нет, и я знаю историю, когда некоторые люди ради интереса прошлись по корпоративным статьям одной компании и поплюсовали их, так что та обошла в рейтинге хабра другую компанию (тот рейтинг как раз зависит от суммы рейтинга недавних статей) Условно, статьи копроблога выходят буквально каждый день, и один человек может пройтись и сделать +1 или +2 к каждой, в сумме около +30 или +60. После этого случилось забавное - во-первых, у компании-конкуретна вскоре тоже вырос рейтинг, во-вторых администрация хабра отключила возможность голосовать участникам перформанса, чтобы не "качали" рейтинги компаний туда-сюда.

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

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

Жду, когда появится конкурент хабра и с радостью уйду туда.

Да и без steam os в обычном десктопном linux mint пользуюсь стимом последние четыре года и всё ок.

Клавиатуру и мышку можно по bluetooth подключить. Монитор можно через type c подключить (и обычно если монитор подключается по type c, он ещё умеет заряжать устройство и раздавать usb порты монитора, если мышка и клавиатура всё-таки проводные)

При этом, пиксельный шейдер запускается не просто ради одного пикселя, а для блока 2х2.

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

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

Например, можно сказать что по витой паре cat5e с максимальной частой в 100 МГц можно передать 100 мегабит и невозможно гигабит.

Ещё можно сказать, что по wifi при ширине полосы передачи в 80 МГгц гигабит не передать.

Для меня сигнал - если человек прям безапелляционно заявляет - то в большинстве случаев он и знает не много, и скорее всего и не стремится узнавать новое.

Очень хорошим примером был учебник Феймана по физике - к утверждению что сила притяжения F = mMG/(R^2) прилагался ещё список границ, до которых удалось дойти в экспериментах - минимальные и максимальные расстояния на которых это точно работает, минимальная и максимальная масса.

В сербском вообще все мягкие глассные через j делаются или через мягкий знак у согласного.
Т.е., тут будут jo, je, ju, ja, но при этом в авфавите появляются отдельные мягкие согласные типа љ и њ (причём для многих согласных мягких версий вообще нет).

Буквально через границу от Сербии есть Болгария, в которой алфавит прям сильно похож на современный русский (с Э, Ю, Я), но при этом в болгарском языке со временем потерялись падежи и теперь их нет.

1
23 ...

Information

Rating
2,778-th
Location
Белград, Сербия
Registered
Activity

Specialization

Десктоп разработчик, ML разработчик
Kotlin
Scala
Java
Python
Нейронные сети
Алгоритмы и структуры данных
Разработка под Android
OpenGL