Обложка канала

Evgeny Ignatenko

Блог программиста-стажёра. Интересный опыт и истории из жизни разработчика, на начальном этапе карьеры.

  • Evgeny Ignatenko

    Vimium Продолжаем рубрику Vim головного мозга, и сегодня у нас новая великолепная находка - Vimium (аналог для сафари - Vimary). Как уже можно было догадаться, это расширение для браузера, которая привносит в него фичи вима. В подробностях описывать не буду, думаю и так понятно примерно, что там может быть, взгляните демки по ссылкам. И могу сказать, это намного удобнее, чем может показаться! Думаю, что для обладателей компов со стремным тачпадом это может оказаться настоящим спасением (ну если мышки тоже нет конечно хаха). Навигация по страницам выполнена супер классно, привыкаешь быстро. Скоро мы уже доберемся до десктопов, которымыи можно будет пользоваться не убирая руки с клавиатуры, экономя тем самым дорогие милисекунды рабочего дня. Но стоит отметить, что Вимари не все сайты умеет переваривать. Навигация по Джире у меня например с ним не работает почему то. Но в остальном прикольно, поиграться можно.
  • Evgeny Ignatenko

    Vega До того, как переквалифицироваться в разработчика Java-платформ, компания Azul, в которой я сейчас работаю, занималась производством Java-ориентированных компов, так называемых "Azul Systems Vega". Было это еще лет 12-15 назад, а недавно я на ebay нашел один из этих серваков. 864 ядра и 384 гига оперативы, как считаешь, достойный конкурент 25-тонника от IBM? Тогда эта машинка выглядела сильно перспективнее компов от IBM, потому что была намного надежнее и стоила гораздо меньше. Для справки, этот 25 терабайтный сервак IBM стоил сам миллион баксов и плюс его поддержка в год обходилась чуть ли не в эти же деньги. А вега помоему тысяч 300-400 стоила под ключ. Если меня читают русскоязычные шейхи, подарите мне эту вегу на новый год, я открою музей 😂. Только имейте ввиду, она тяжелая что пиздец
    Azul Systems Vega 3 7380B Java Compute Appliance 864 Core Processors, 384 GB RAM

    Find many great new & used options and get the best deals for Azul Systems Vega 3 7380B Java Compute Appliance 864 Core Processors, 384 GB RAM at the best online prices at eBay! Free shipping for many products!

    eBay
  • Evgeny Ignatenko

    О современных айтишниках
  • Реклама

  • Evgeny Ignatenko

    Мода циклична Цикличность моды прослеживается даже в IT. Когда JVM, над которой я щяс работаю, только создавалась, она была ориентирована на сервера компаний-гигантов, которые по тем временам обладали просто невероятными вычислительными мощностями. Мы всегда хвастались, что наша машина переваривает 4 терабайта хипа (пиздец да, у кого то есть 4 терабайта оперативы) с паузами на сборку мусора не более 70мс, а сейчас к нам пришли контейнеры.. Челенджи системных программистов вернулись в 90 годы. Теперь мы старательно запихиваем программы в ограниченные энвайроменты, считая каждый байт RSS и каждую секунду процессорного времени. А наша машина кстати вообще не умеет поддерживать хип меньше 512мб. Но с процессорным временем мы очень хорошо справляемя кстати. Наш СТО на всяких докладах любит говорить: "Zing is cheaper than free", что значит Зинг (наша JVM) дешевле бесплатного. Типа на столько мы можем хорошо экономить траты на облачные вычислительные мощности, что цена нашей машины оказывается меньше сэкономленного. А JVM у нас кстати совсем не дешевая. Короче, готовимся к тому, что через 20 лет мы снова вернемся к вычислениям на сверхгигантских компах и весь софт нужно будет заново учиться масштабировать.
  • Evgeny Ignatenko

    Признавайся, ты тоже пишешь "самодокументирующися код"?
  • Evgeny Ignatenko

    Что будет выведено?
    #include <sstream>
    
    int main() {
      std::stringstream ss("a");
      std::cout << ss.str();
      ss << "b";
      std::cout << ss.str();
    }
  • Evgeny Ignatenko

    Всем человеческим программистам привет
  • Evgeny Ignatenko

    ChatGPT Уже несколько раз поучвствовал в диалоге о том, что чат гпт наc всех уже вот вот заменит, он уже и интервью проходит, и посты пишет, и диагнозы ставит и тд. Спешу всех обрадовать (или огорчить, кому как), но нет. Самое забавное, что такие диалоги, как правило, состоятся с людьми, которые вообще нисколько не понимают, как работает чат гпт даже поверхностно. Я рекомендую почитать об этом где-нибудь в другом месте, но высокоуровнего, это так называемая large language model, и занимается она тем, что подставляет следующее слово на основе потенциальной вероятности его появления на этом месте. Да да, она тупа очень хорошо угадывает, хотя со стороны это может показаться, как будто она тебя понимает, и даже обдумывает ответ. Примерно такой-же механизм используется для auto-complete в ide, и в целом, чат гпт справедливо считать автокомплитом на супермаксималках. Кроме этого он конечно обернут в кучу других искуственно-интелектуальных штук, его много лет дрессировали на каких-то там данных, но глобально это ничего не меняет, кроме пользовательского опыта. Если чат гпт может написать за вас какой-то код, значит говно тот код, который вы пишете. Скорее всего он уже так много раз был написан до вас, что даже языковая модель его легко предсказывает. Именно поэтому он и проходит всякие кодерские собеседования, потому что задачи там, как правило, типовые. Да, это возможно облегчит непосредственную печать кода в каком-то виде, но не то чтобы даже это было очень полезно, потому-что будучи программистом, большую часть времени вы проводите не за самим написанием кода, а за всем остальным. Лично я вообще именно писать код могу только минут 20 за весь рабочий день, а то и меньше. Для того, чтобы заменить программиста, нужно реально понимать проблему, ограничения и имеющиеся средства, чтобы предлагать какие-то решения. Чат гпт этого, к сожалению, не делает, но он хорошо делает вид, как будто именно это он и делает. Чат гпт это бесспорно классная штука, но не нужно меня пожалуйста оскорблять заявлениями, что через год меня заменит языковая модель. P.S. пост составлен с помощью ChatGPT
  • Evgeny Ignatenko

    Лайк, если понял
  • Evgeny Ignatenko

    Будильник - это синтаксический сахар для таймера.
  • Evgeny Ignatenko

    Важно о дебагинге Когда в С или С++ что-то отлаживаешь старыми дедовскими принтэфами, нужно не забывать про буферизацию вывода. Но если говорить проще, не забывать надо просто ставить "\n" в конце принтэфа. Стандарнтный поток вывода на экран (он же stdout) по дефолту буферизируется построчно, т.е. непосредственный вывод на экран происходит в момент, когда printf встречает символ переноса строки. Так же его можно вручную зафлашить в любой момент при помощи fflush(stdout). Не во время каждого краша стандартный поток вывода будет зафлашен, а это значит, что например вот в такой ситуации:
    printf("Here284");
    code_that_crashes();
    printf("Here285");
    
    Мы можем ничего и не увидеть на экране, потому что в конце первого принта нет переноса строки, и сделаем ложный вывод, что исполнение сюда не дошло. А gdb для слабых
  • Evgeny Ignatenko

    Clean code Мой любимый Кейси Муратори недавно записал видосик о том, как принципы чистого кода влияют на производительность. Советую ознакомиться любителям паттернов и zero-cost абстракций.
    "Clean" Code, Horrible Performance

    Bonus material from the Performance-Aware Programming Series: https://www.computerenhance.com/p/clean-code-horrible-performance

    YouTube
  • Evgeny Ignatenko

    Не выходя из Вима
  • Evgeny Ignatenko

    Магия Линукс Сегодня с удивлением обнаружил, что программы на Линуксе можно запускать линкером. Причем даже если у нее нет разрешения на исполнение! Типа берем обычный хелоу ворлд на Си и делаем так:
    » chmod 600 ./prog
    » ls -la ./prog
    -rw-------.  1 eignatenko users 8208 Mar 20 17:20 prog
    » ./prog
    bash: ./prog: Permission denied
    » /lib64/ld-linux-x86-64.so.2 ./prog
    Hello
    
    Короче примерно так же, как баш скрипты можно запустить через /bin/bash, если у них прав на выполнение не стоит. Шок контент, не иначе. Тут вот подробнее об этом можно найти.
  • Evgeny Ignatenko

    На этой неделе перешёл на Мак, до образа типичного программиста на удалёнке осталось только шезлонг, пальму и пиноколаду. Вообще эргономичная достаточно штука по сравнению с другими ноутами. Тачпад обалденно удобный. Единственное что бесит это расположение точки и запятой в русской раскладке и что теперь тильда переехала, а на ее месте теперь кнопка, которая олицетворяет бесполезность. А ещё у меня англо-греческая раскладка, если присмотришься. Дополнительная мотивация выучить греческий. Завтра кстати начинаю.
  • Реклама

  • Evgeny Ignatenko

    ChatGPT Готовились с коллегами к собеседованию и осознали, что все задачи на написание кода, которые мы давали, спокойно щелкает GPT чат, причем со всеми дополнительными вопросами. А пул задачек у нас весьма внушительный. Закономерный вопрос, остался ли хоть какой-то смысл в алгоритмических задачах на онлайн собеседовании? Заставлять кандидатов демонстрировать себя и все экраны? Не пора ли вообще другую профессию осваивать, господа? Скоро скиллбокс уже курсы запустит на тему "как правильно пользоваться подобными чатами, если хотите заменить целый отдел дизайнеров/разработчиков", скринте.
  • Evgeny Ignatenko

    Советуюсь с читателями Хочу научиться виртуозно пользоваться терминальными утилитами на Линуксе, чтобы уметь модно грепать, резать, вставлять, искать и форматировать информацию и вообще быть уверенным в себе пользователем персонального компьютера. Знаком ли вам какой-то эффективный и возможно увлекательный способ это дело освоить? Поделитесь опытом пожалуйста.
  • Evgeny Ignatenko

    Зацените шутку
    double celsius = 25.5f;