Что почитать о программировании и IT: июльская подборка
Экзаменуем ChatGPT, смотрим на доисторический курсор, учим журналистов кодить и ищем звёзды в глазах.


Иллюстрация: Оля Ежак для Skillbox Media
В дайджесте рассказываем: как увлечение криптовалютами связано с садизмом, как стать идеальным кандидатом и понравиться руководству, почему менеджеры мешают разработчикам. Также делимся полезными советами реддиторов и показываем лучшие парки.
Содержание
- Свершилось! Zed теперь доступен на Linux
- «Сегодня он купил биткоин, а завтра…» — шокирующее исследование для владельцев криптовалюты
- Он не бот, просто болел: случай, когда все решили, что ИИ подался в политику
- Из журналистов в программисты: замечен новый профессиональный тренд
- Хотите распознать фейк на фото? Ищите звёзды в глазах
- Как стать идеальным кандидатом, которого работодателям захочется нанять или повысить
- Сокращение данных для ИИ: как ограничения и платный доступ влияют на развитие технологий
- Чем сложнее, тем хуже: как ChatGPT справляется с задачами LeetCode на разных языках программирования
- Как построить хорошие отношения в инженерной команде: советы того, кто справился
- Кодекс настоящего сеньора: 6 главных правил
- Необычные сайты, которые стоит посетить
- Интересное на Reddit
Свершилось! Zed теперь доступен на Linux
Zed — это высокопроизводительный многопользовательский редактор кода от создателей Atom и Tree-sitter. Ранее он был доступен только для macOS, но теперь появилась версия для Linux. К сожалению, для Windows официальных сборок пока нет, но редактор можно собрать из исходников.
Zed написан на Rust и отличается эффективным использованием всех ядер CPU и GPU. Редактор из коробки поддерживает GitHub Copilot, режим Vim и всплывающие подсказки для тех, кто только осваивает горячие клавиши. Также разработчики могут работать в общем виртуальном пространстве в режиме реального времени и обсуждать задачи в специальных каналах, планируя проекты.

Изображение: Zed Industries
«Сегодня он купил биткоин, а завтра…» — шокирующее исследование для владельцев криптовалюты
Исследователи из Университета Торонто и Университета Майами опросили две тысячи американцев, выяснив их политические, психологические и социальные пристрастия. Выводы оказались довольно необычными:
«Мы обнаружили, что владение криптовалютами связано с верой в теории заговора и „тёмной тетрадой“ нарциссизма, макиавеллизма, психопатии и садизма».
Если вы владеете криптовалютой и хотите ознакомиться с полным исследованием, прочитайте статью «The Political, Psychological, and Social Correlates of Cryptocurrency Ownership».
Он не бот, просто болел: случай, когда все решили, что ИИ подался в политику
Этот случай произошёл с кандидатом от ультраправой британской партии Reform UK Марком Мэтлоком. Он пропустил предвыборные мероприятия, и в соцсетях начали распространяться слухи, что он бот. Люди были убеждены, что партия выставила на выборы ИИ-кандидата.
Причиной шумихи стала неудачно отфотошопленная фотография, на которой фон был удалён, цвет галстука изменён, а кожа и волосы политика выглядели неестественно.
На самом деле Мэтлок просто заболел пневмонией и не мог выйти из дома. Так что никакого искусственного интеллекта в политике пока не будет, но пиарщикам не мешало бы лучше освоить Photoshop.

Изображение: Mark Matlock / X
Из журналистов в программисты: замечен новый профессиональный тренд
Новое исследование сообщества State of Data Journalism показало, что программирование стало неотъемлемой частью работы многих журналистов. Если в 2022 году код для решения рутинных задач использовали 32% специалистов, то в 2023 году их доля выросла до 58%.
Эти цифры могут показаться необычными, но они объяснимы. Для работы с различными темами журналистам необходимы цифры, данные и способы их визуализации. Простых инструментов, таких как «Google Таблицы» или Excel, уже недостаточно, особенно при обработке больших объёмов данных. Поэтому журналистам приходится прибегать к программированию.
Например, с помощью Python-библиотек BeautifulSoup или Scrapy журналисты могут настроить автоматический сбор данных с веб-сайтов. Для создания интерактивных графиков и визуализаций подойдут библиотеки D3.js и Plotly. Для анализа данных можно использовать библиотеки Pandas и SQL, которые помогают эффективно обрабатывать и интерпретировать большие объёмы данных.
Существуют специализированные книги и курсы для журналистов, которые вы можете изучить самостоятельно. Вот несколько из них: «The Data Journalism Handbook 2», «Coding for Journalists» и «Python for journalists».
Кто знает, возможно, вскоре некоторые из этих журналистов так хорошо освоят свои инструменты, что задумаются о смене профессии.


Читайте также:
Хотите распознать фейк на фото? Ищите звёзды в глазах
Учёные Университета Халла провели исследование и выяснили, что фотографии людей, созданные искусственным интеллектом, можно распознать по глазам. Метод, похожий на тот, что они использовали, применяют астрономы при изучении снимков галактик.
Исследователи проанализировали отражение света в глазах на реальных и искусственных изображениях. Они использовали астрономические методы для оценки этих отражений и сравнили левый и правый глаза. Оказалось, что на сгенерированных фото отражения в глазах часто не совпадают, в то время как на настоящих изображениях они обычно одинаковы.

Изображение: Adejumoke Owolabi / Royal Astronomical Society
Как стать идеальным кандидатом, которого работодателям захочется нанять или повысить
Журнал ZDNET попросил четырёх известных бизнесменов дать советы тем, кто хочет построить успешную карьеру в IT-компании. Ниже мы расскажем, что они порекомендовали.
Будьте открыты к освоению новых навыков. Способность учиться особенно важна для начинающих специалистов, которые после университета обычно не готовы самостоятельно справляться с задачами компании:
«Они не знают, как всё устроено, никогда не работали в скрам-команде и не использовали Agile-практики».
Саша Джори,
IT-директор страховой компании Hastings Direct
О важности обучения также говорит Мигель Моргадо, старший продуктовый менеджер Performance Hub:
«Иногда встречаются люди, которые приходят из колледжа и не знают, чего хотят. Мне нужны кандидаты, у которых есть страсть и желание быстро научиться».
Покажите, что вы умеете общаться с людьми. Это особенно важно при взаимодействии с коллегами, чья работа не связана с технологиями:
«Если вы не вписываетесь в культуру, вы отнимаете энергию. Сотрудники должны доверять вам настолько, чтобы поделиться своей проблемой, а затем вы будете решать её уже с помощью своих технических навыков».
Амброуз Эрл,
IT-директор компании Southwest Traders
Выбирайте правильное место для старта карьеры. Не соглашайтесь работать там, где у вас не будет возможности для развития, а коллектив не поддерживает благоприятную рабочую атмосферу:
«По своему опыту знаю, что вы даже не представляете, насколько сильно эти первые несколько мест работы определяют направление вашей дальнейшей карьеры».
Джон Грейнджер,
техдир юридической компании DWF
Сокращение данных для ИИ: как ограничения и платный доступ влияют на развитие технологий
Новое исследование организации Data Provenance Initiative выявило резкое сокращение объёма данных, необходимых для обучения ИИ-моделей.
Издатели и онлайн-платформы начинают ограничивать доступ к информации или требуют плату за её использование. Компании блокируют веб-краулеры, Reddit и StackOverflow ввели плату за доступ к данным, а The New York Times подала в суд на OpenAI и Microsoft за нарушение авторских прав:
«Мы наблюдаем стремительное снижение уровня согласия на использование данных в интернете, что будет иметь последствия не только для IT-компаний, но и для учёных и некоммерческих организаций».
Шейн Лонгпре,
ведущий автор исследования
Создатели ИИ-моделей пытаются решить проблему разными способами: расшифровывают видеоролики на YouTube, заключают сделки с издательствами или используют синтетические данные, сгенерированные ИИ. Однако эти меры выглядят как временные решения, поскольку вряд ли позволят полностью заменить данные, созданные человеком.

Изображение: Raven Jiang / The New York Times
Чем сложнее, тем хуже: как ChatGPT справляется с задачами LeetCode на разных языках программирования
Учёные провели исследование, в рамках которого оценивали, как GPT-3.5 решит 728 задач с LeetCode на пяти языках программирования: C, C++, Java, JavaScript и Python. Доля успешно решённых задач разных типов варьировалась от 0,66 до 89% в зависимости от сложности задания, языка программирования и других факторов.
ChatGPT хорошо справлялся с задачами, опубликованными на LeetCode до 2021 года, так как они часто встречаются в обучающем наборе данных. Наиболее трудными для него оказались задачи на языках C, C++ и Python, которые по уровню сложности близки к задачам, решаемым опытными разработчиками. Чтобы помочь ИИ лучше понимать контекст и избегать ошибок, разработчикам следует предоставлять ему дополнительную информацию на этапе составления промпта.
Как построить хорошие отношения в инженерной команде: советы того, кто справился
Сотрудничество — чит-код для быстрого карьерного роста. Грегор Ойстерсек, CTO и автор рассылки Engineering Leadership, поделился ценными советами для инженеров. Вкратце пересказываем основные рекомендации.
Не пишите код в одиночку. Высокоэффективные программисты не только обладают отличными техническими навыками, но и умеют хорошо общаться и сотрудничать. Разработка ПО — это командная работа.
Что отдаёшь, то и получаешь. Доверяйте коллегам, и они доверятся вам в ответ. Будьте уважительны, и вас будут уважать. Интересуйтесь людьми и почаще обсуждайте хобби, семью, спорт и другие нерабочие темы.
Никогда не обвиняйте коллег в ошибках — это непродуктивно. Вместо этого всегда признавайте свои ошибки перед коллегами и руководством. Это укрепит доверие и покажет вашу способность брать на себя ответственность:
Во время код-ревью не пишите: «Так делать нельзя, вот моё решение, которое намного лучше». Вместо этого спросите: «Что ты думаешь вот о таком подходе в сравнении с тем, который выбрал ты?»

Читайте также:
Кодекс настоящего сеньора: 6 главных правил
Познакомьтесь с Ником Ходжесом, человеком с необычной биографией: бывшим официантом, поваром, школьным учителем, офицером военно-морской разведки, программистом, а также экс-менеджером по продукту и руководителем группы исследований Delphi. Ник расскажет, как сеньорам удаётся писать качественный код:
«Обычно говорят, что разработчик должен писать код так, как будто человек, который в итоге будет поддерживать его, жестокий психопат, знающий, где вы живёте». Как же этого добиться?»
1. Сеньор уделяет фанатичное внимание деталям. Он следит за отступами, использует линтер и соблюдает регистр переменных, даже если язык программирования нечувствителен к регистру.
2. Сеньор тщательно именует переменные и функции. Короткие имена — это пережиток прошлого, когда окна терминалов были шириной 80 символов. Не стоит экономить на нескольких нажатиях клавиш. Лучше использовать grossWeight вместо gw и netWeight вместо nw.
3. Сеньор пишет код на основе абстракций. Так легче вносить изменения и рефакторить программу.
4. Сеньор вносит и тестирует изменения по одному за раз. Чтобы было проще найти и устранить проблему.
5. Сеньор не допускает разрастания кода. Если метод не помещается в окно редактора, то это сигнал к рефакторингу. Попробуйте использовать не более трёх строк в одном методе, чтобы код стал чистым и удобным для чтения.
6. Сеньор избегает комментариев в коде. Если вам нужно добавлять пояснения, то это признак запутанного кода, который лучше переписать.

Читайте также:
Необычные сайты, которые стоит посетить
Для начала загляните в миниатюрный виртуальный музей курсоров и посмотрите на редкий доисторический экспонат.
После этого посетите сайт One Minute Park и полюбуйтесь парками со всего мира. Это не веб-камеры в реальном времени, а минутные видеоролики от посетителей. Обычно сайт работает, но иногда может подтормаживать.
И напоследок посетите сайт One Million Particles и попробуйте расщепить слово на миллион частиц. Это впечатляющий пример использования технологий GPGPU и WebGL. Если вы захотите разобраться в процессе, на сайте доступны исходный код и поясняющее видео.

Скриншот: One Million Particles / Skillbox Media
Интересное на Reddit
В сабреддите Compsci предположили, когда может закончиться мода на ИИ. Один из участников привёл примеры технологий, которые когда-то были на пике популярности, но сегодня уже не так широко известны. Этот список подчёркивает, что технологические тренды приходят и уходят. То, что сегодня кажется революционным, может утратить свою актуальность или, наоборот, стать неотъемлемой частью нашей жизни.
1950–1960-е годы:
- искусственный интеллект (ИИ);
- мейнфреймовые компьютеры;
- кибернетика.
1970–1990-е годы:
- персональные компьютеры (ПК);
- графический интерфейс пользователя (GUI);
- объектно-ориентированное программирование;
- компьютерное проектирование (CAD);
- Всемирная паутина;
- бум доткомов;
- мультимедиа.
2000-е годы:
- Web 2.0;
- социальные медиа;
- облачные вычисления;
- смартфоны;
- интернет вещей (IoT);
- большие данные;
- виртуальная реальность (VR).
2010-е годы:
- блокчейн и криптовалюты;
- машинное обучение;
- дополненная реальность (AR);
- сети 5G;
- цифровая трансформация;
- квантовые вычисления;
- DevOps.
2020-е годы:
- возрождение искусственного интеллекта (ИИ);
- большие языковые модели;
- генеративный ИИ;
- метавселенная;
- Web3;
- NFT;
- расширенная реальность (XR);
- цифровые двойники.
В сабреддите LearnProgramming обсудили, как выйти из ада обучения (tutorial hell) — ситуации, когда человек проходит один курс по программированию за другим, смотрит видео и постоянно учится, не зная, как начать самостоятельно программировать. Совет, который часто повторяют, но о котором стоит напомнить: после нескольких обучающих курсов начните работать над своим проектом. Это поможет освоить три важных вопроса:
- понять, с чего начать;
- находить ответы на вопросы без руководства;
- создавать что-то своё, а не просто копировать.
В сабреддите Webdev рассказали, о чём чаще всего врут веб-разработчики. Автор поста рассказал о своём брате, которого на собеседованиях или уже на работе спрашивали: «Ты можешь это сделать?» На что он отвечал: «Да». Затем брат тратил следующие две недели на то, чтобы научиться этому. Он утверждает, что почти все свои знания и навыки получил таким способом.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!