Что почитать о программировании и IT: июльская подборка
Экзаменуем ChatGPT, смотрим на доисторический курсор, учим журналистов кодить и ищем звёзды в глазах.
В дайджесте рассказываем: как увлечение криптовалютами связано с садизмом, как стать идеальным кандидатом и понравиться руководству, почему менеджеры мешают разработчикам. Также делимся полезными советами реддиторов и показываем лучшие парки.
Содержание
- Свершилось! 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 рассказали, о чём чаще всего врут веб-разработчики. Автор поста рассказал о своём брате, которого на собеседованиях или уже на работе спрашивали: «Ты можешь это сделать?» На что он отвечал: «Да». Затем брат тратил следующие две недели на то, чтобы научиться этому. Он утверждает, что почти все свои знания и навыки получил таким способом.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!
                                    



