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

Evgeny Ignatenko. Страница 2

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

  • Evgeny Ignatenko

    Ставлю эту елку тут уже четвертый год подряд. Не мало времени прошло, если задуматься... В новом году хочу пожелать всем научиться ценить простые вещи, которые окружают нас в повседневной жизни. Множество прекрасных вещей почему-то просто пропадают из нашего поля зрения с течением жизни, хотя всегда находятся под носом, но стоит им оттуда пропасть, так сразу становятся очень заметными. Считать, что жизнь проста - опасно, но тем не менее она всегда кажется нам гораздо сложнее, чем есть на самом деле. Желаю всем не боятся сложностей и с юмором с ними справляться. И в целом, желаю научиться легче относиться ко всему, что происходит с нами на жизненном пути, потому что, как правило, невозможно сказать сразу, хорошее это было событие или плохое. Иногда, не получить желаемого - это и есть везение. Поздравляю вас с Новым годом, мои любимые читатели 🎊🎁🎉🎄
  • Evgeny Ignatenko

    Очень жизненно
  • Evgeny Ignatenko

    Спасибо, Ваша Сеньерность Воевали на работе несколько дней с очень неприятным крашем из за корапченного стэка, который еще и не могли воспроизвести. Не могли в gdb найти, откуда приходит падение, потому что стэк не раскручивается. А мы пользуемся кастомной сборкой gdb со своими дополнительными плюшками для всякого анализа памяти и прочего. Попросили помочь одного из наших дедов-сеньеров, он открывает корку в gdb и пишет следующую команду: az-tony-backtrace-hacky. И да, она раскрутила стэк... Не на 100 процентов корректно, но получилось понять, где происходит краш, и обвинить в этом стороннюю либу. Вот такие штуки начинаешь уметь делать, когда кучу лет в компании и видел некоторое дерьмо. Считаю что есть в этом определенное изящество. Если интересно, что эта команда в итоге делала, то она воспользовалась тем фактом, что у нас стэк выровнен по 64 байта и в тупую выровняла sp перед попыткой раскрутить стэк. Действительно hacky. А tony это имя китайца, который когда-то эту команду в наш gdb добавил и увековечил таким образом там свое имя.
  • Реклама

  • Evgeny Ignatenko

    Трудности локализации Каждый раз, когда читаю техническую литературу в переводе, убеждаюсь, что это гиблое дело. Большинство современных технологий развиваются на английском, поэтому и изучать их нужно тоже на английском. И еще есть риск наткнуться на перевод неопытного локализатора и вообще получить информацию с большим искажением смысла. Один из моих любимых примеров — pseudo file system. В русском языке "псевдо" — это приставка, а в английском — это отдельное слово (междометие? наречие? хз, я русский не знаю, знаю только С++). Поэтому если попытаться перевести это дословно на русский, получается либо "псевдофайловая система", что не совсем правда, либо "файловая псевдосистема", что по смыслу наверное чуть ближе, но все равно каламбур, потому что не очень понятно, как система может быть псевдо. Система она и в Африке система, просто эта система "псевдо файловая". Ну короче вот такое. Опытные переводчики в такие моменты обычно новый термин придумывают, поэтому у нас потом появляются такие вещи, как мнимые файловые системы, точки останова, трассировка функций, образцы класса и прочие термины, которые режут ухо. Учите английский товарищи. P.S. еще я до сих пор не понимаю, почему псевдогигант из сталкера так называется. Он же вроде вполне гигантский. Псведогигант — это обычный человек в мире карликов.
  • Evgeny Ignatenko

    Code reusability
  • Evgeny Ignatenko

    Stack Overflow Сегодня запостил свой первый вопрос на Stack Overflow. Я знал что когда нибудь это должно было случится. Людей, шарящих в линковщике, приглашаю мне подсказать. Линковщик на Линуксе это вообще какой-то ужас на самом деле. Очень сложная софтина, которая при этом невероятно херово задокументирована. Всем нужно поучится писать документацию у LLVM я считаю.
    Linker wrapping with --wrap option does not wraps symbols called by jmp instruction

    I am trying to do memory tracking system using the linkage wrapping of allocators and deallocators calls. I am using C++ 11 so here is the list of wraps that I have: #define wrap(symbol) __wrap_ ##

    Stack Overflow
  • Evgeny Ignatenko

    Релокация Если что, до Кипра долетел, все норм. Пришлось на день залететь к арабам, погулять по Дубаи, так что в целом даже есть плюсы. Уже во всю занимаюсь всякими бумажками и поиском жилья. Количество русскоговорящего населения немного поражает. В алкогольном отделе в магазине вообще не покидает ощущение, что ты в Duty Free просто зашёл. А местные киприоты пока попадались только очень приятные. И левостороннее движение первые несколько часов удивляло, особенно движение по кольцу. Но как ни странно к этому очень быстро привыкаешь. За рулём поездить ещё не успел.
  • Evgeny Ignatenko

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

    Я тут завтра переезжаю на Кипр на ПМЖ на неопределенный срок, или как это модно сейчас говорить — релоцируюсь! Интересно будет последить за моими приключениями в формате кругляшей? Кстати, пару месяцев назад проводил опрос, по поводу релокации. После мобилизации и прочего, давайте освежим данные.
  • Evgeny Ignatenko

    Контейнеры в gdb Не могу нарадоваться своей сегодняшней находке просто! Это скриптик, который позволяет красиво печатать содержимое STL-контейнеров в дебаггере. Не надо больше мучаться, чтобы найти поля со значениями в куче мусора из полей контейнеров. Там в комментах написано, как им пользоваться. Напишите еще для stringstream такую, кому не в падлу плиз.
    GDB init file to print STL containers and data members

    GDB init file to print STL containers and data members - .gdbinit

    Gist
  • Evgeny Ignatenko

    Сегодня я первый раз в жизни я увидел экран, когда Гугл не нашел ни одного результата. Всего лишь пробел перед ref забыл...
  • Evgeny Ignatenko

    Нельзя перестать ходить в качалку, если не можешь выйти из нее.
  • Evgeny Ignatenko

    JavaScript is weird they say..
  • Evgeny Ignatenko

    Конечно я могу написать тебе hello world. Начнем с тестов!
  • Evgeny Ignatenko

    Нейросеть попросили нарисовать лосося плывущего против течения
  • Реклама

  • Evgeny Ignatenko

    11 друзей strict aliasing'a Ответ на StackOverflow, прочтения которого с переходом по всем ссылкам будет достаточно, чтобы узнать о большей части проблем в С/С++, возможных при колдовстве с типами данных. Потратить время сейчас, чтобы понять все, о чем тут речь — сэкономить себе уйму часов в будущем, отвечаю.
    What is the strict aliasing rule?

    When asking about common undefined behavior in C, people sometimes refer to the strict aliasing rule. What are they talking about?

    Stack Overflow
  • Evgeny Ignatenko

    На досуге лишился своей опенсорсной девственности. Законтребьютил удаление точек с запятой из генерирования кода на Питоне.
    Remove semicolons generation in Python plugin by zer0chance · Pull Request #122 · DmitrySoshnikov/syntax

    This contribution is made after "Building an Interpreter from scratch" course. Generated parser on python contains semicolons that have to be removed manually every time you regenerate it...

    GitHub
  • Evgeny Ignatenko

    Я вот думаю, можно ли с работодателем торговаться о повышении ЗП, если есть более жирный оффер от ЧВК Вагнера?