Программирование на параллельных машинах: GPU, многоядерные вычисления, кластеры и многое другое
Открытый (ака бесплатный) учебник от Норма Матлоффа, профессора компьютерных наук Калифорнийского университета.
Скачать: https://heather.cs.ucdavis.edu/parprocbook
Открытый (ака бесплатный) учебник от Норма Матлоффа, профессора компьютерных наук Калифорнийского университета.
Скачать: https://heather.cs.ucdavis.edu/parprocbook
Умный код - это, вероятно, худший код, который вы можете написать
А понятный, читаемый код - это, наверное, самый трудный код для написания. Согласны, да/нет?
Статья: https://engineercodex.substack.com/p/clever-code-is-probably-the-worst
А понятный, читаемый код - это, наверное, самый трудный код для написания. Согласны, да/нет?
Статья: https://engineercodex.substack.com/p/clever-code-is-probably-the-worst
IT Insights
Умный код - это, вероятно, худший код, который вы можете написать А понятный, читаемый код - это, наверное, самый трудный код для написания. Согласны, да/нет? Статья: https://engineercodex.substack.com/p/clever-code-is-probably-the-worst
Мой перевод: https://apptractor.ru/info/articles/umnyy-kod-eto-veroyatno-hudshiy-kod-kotoryy-vy-mozhete-napisat.html
TLDR: Умный код труднее читать и он выглядит эзотерическим. Понятный код труднее писать и он выглядит просто.
TLDR: Умный код труднее читать и он выглядит эзотерическим. Понятный код труднее писать и он выглядит просто.
AppTractor
Умный код — это, вероятно, худший код, который вы можете написать
Умный код труднее читать и он выглядит эзотерическим. Понятный код труднее писать и он выглядит просто.
Как перемешивать песни
Компания Spotify серьезно относится к отзывам пользователей. Мы заметили, что некоторые пользователи жаловались на то, что наш алгоритм случайного воспроизведения проигрывает несколько композиций одного и того же исполнителя сразу друг за другом. Пользователи спрашивали: "Почему вы не делаете перестановку песен случайной?". Мы ответили: "Эй! Наша перестановка как раз случайна!".
Так кто же был прав? Как оказалось, правы были и мы, и пользователи, но все немного сложнее. Это также хорошая история о том, как интерпретировать отзывы пользователей.
Статья 2014 года: https://engineering.atspotify.com/2014/02/how-to-shuffle-songs/
Компания Spotify серьезно относится к отзывам пользователей. Мы заметили, что некоторые пользователи жаловались на то, что наш алгоритм случайного воспроизведения проигрывает несколько композиций одного и того же исполнителя сразу друг за другом. Пользователи спрашивали: "Почему вы не делаете перестановку песен случайной?". Мы ответили: "Эй! Наша перестановка как раз случайна!".
Так кто же был прав? Как оказалось, правы были и мы, и пользователи, но все немного сложнее. Это также хорошая история о том, как интерпретировать отзывы пользователей.
Статья 2014 года: https://engineering.atspotify.com/2014/02/how-to-shuffle-songs/
Прежде чем пытаться что-то сделать, убедитесь, что вы можете сделать то, что ничего не делает
При создании новой вещи первым шагом будет создание вещи, которая ничего не делает. Так вы, по крайней мере, будете знать, что начинаете с хорошего места.
Статья: https://apptractor.ru/info/articles/prezhde-chem-pytatsya-chto-to-sdelat-ubedites-chto-vy-mozhete-sdelat-to-chto-nichego-ne-delaet.html
При создании новой вещи первым шагом будет создание вещи, которая ничего не делает. Так вы, по крайней мере, будете знать, что начинаете с хорошего места.
Статья: https://apptractor.ru/info/articles/prezhde-chem-pytatsya-chto-to-sdelat-ubedites-chto-vy-mozhete-sdelat-to-chto-nichego-ne-delaet.html
Курс "Генеративный ИИ для начинающих" от Microsoft
В этом курсе авторы с нуля рассматривают концепции, которые позволят создать свой собственный стартап в области генеративного искусственного интеллекта на базе Azure OpenAI Services. Благодаря этому вы получите представление о том, что нужно сделать, чтобы вывести свои идеи на публику и получить прибыль. В каждом уроке рассматривается один из ключевых аспектов принципов генеративного ИИ и разработки приложений.
12 уроков: https://microsoft.github.io/generative-ai-for-beginners/
В этом курсе авторы с нуля рассматривают концепции, которые позволят создать свой собственный стартап в области генеративного искусственного интеллекта на базе Azure OpenAI Services. Благодаря этому вы получите представление о том, что нужно сделать, чтобы вывести свои идеи на публику и получить прибыль. В каждом уроке рассматривается один из ключевых аспектов принципов генеративного ИИ и разработки приложений.
12 уроков: https://microsoft.github.io/generative-ai-for-beginners/
Спасибо, что подержали мою уточку
Я люблю рассказывать одну историю, которая, как я смутно помню, произошла в Bell Labs или Xerox PARC. У одного исследователя в кабинете была резиновая уточка. Когда он оказывался в затруднительном положении, он брал утку, подходил к коллеге и просил его подержать утку. Он начинал объяснять проблему, часто сам доходил до решения в процессе объяснения. Затем он говорил: "Спасибо, что подержали мою утку" - и уходил.
Статья: https://naml.us/post/thank-you-for-holding-my-duck/
Я люблю рассказывать одну историю, которая, как я смутно помню, произошла в Bell Labs или Xerox PARC. У одного исследователя в кабинете была резиновая уточка. Когда он оказывался в затруднительном положении, он брал утку, подходил к коллеге и просил его подержать утку. Он начинал объяснять проблему, часто сам доходил до решения в процессе объяснения. Затем он говорил: "Спасибо, что подержали мою утку" - и уходил.
Статья: https://naml.us/post/thank-you-for-holding-my-duck/
❤4
В тему вчерашней публикации про уточку - Учитесь быстрее, используя технику Фейнмана
Техника обучения Фейнмана в первую очередь включает четыре простых шага:
1. Выберите тему, которую хотите понять, и начните ее изучать.
2. Сделайте вид, что преподаете тему в классе, ребенку или кому-то, кто не знаком с ней.
3. Вернитесь к изучению материала, когда застрянете в этом процессе.
4. Упростите и упорядочите
Статья: https://apptractor.ru/learn/uchites-bystree-ispolzuya-tehniku-feynmana.html
Техника обучения Фейнмана в первую очередь включает четыре простых шага:
1. Выберите тему, которую хотите понять, и начните ее изучать.
2. Сделайте вид, что преподаете тему в классе, ребенку или кому-то, кто не знаком с ней.
3. Вернитесь к изучению материала, когда застрянете в этом процессе.
4. Упростите и упорядочите
Статья: https://apptractor.ru/learn/uchites-bystree-ispolzuya-tehniku-feynmana.html
Остаться в живых. Токсичность в ИТ глазами девушки-лида
Каждый из нас хоть раз в жизни сталкивался с токсичными людьми. Но одно дело, когда ты встречаешь их среди прохожих на улице, другое — когда тебе приходится жить в токсичном коллективе каждый рабочий день.
Так как же действительно обстоят дела в сфере ИТ? Может, мы и правда «поколение снежинок», которое уже во всём видит оскорбление? Присутствует ли доля нездорового общения в наших кругах? Давайте разбираться. Иногда я просто не могу понять, где та тонкая грань между восприятием шутки и токсичностью.
Статья: https://habr.com/ru/companies/alfa/articles/774264/
Каждый из нас хоть раз в жизни сталкивался с токсичными людьми. Но одно дело, когда ты встречаешь их среди прохожих на улице, другое — когда тебе приходится жить в токсичном коллективе каждый рабочий день.
Так как же действительно обстоят дела в сфере ИТ? Может, мы и правда «поколение снежинок», которое уже во всём видит оскорбление? Присутствует ли доля нездорового общения в наших кругах? Давайте разбираться. Иногда я просто не могу понять, где та тонкая грань между восприятием шутки и токсичностью.
Статья: https://habr.com/ru/companies/alfa/articles/774264/
Как Spotify отслеживает размеры приложений
Наши ежедневные задачи как инженеров часто связаны с внедрением новых функциональных возможностей. Существующие пользователи получают возможность пользоваться преимуществами этих функций, для новых пользователей это причина подписаться на приложение, а мы получаем возможность писать больше кода. На первый взгляд, это идеальные симбиотические отношения - беспроигрышный сценарий, когда все довольны и ничего не может пойти не так, правильно?
Неправильно, иногда новая отличная функция приносит больше вреда, чем пользы. Причина проста - размер приложения. Любое дополнение к приложению - будь то код для новой функции, ресурс изображения для новой кнопки или даже поддержка новой локализации - приводит к увеличению размера приложения. Вы можете спросить: "Неужели это действительно проблема в нашем современном мире?". Мы утверждаем, что да.
Статья: https://apptractor.ru/info/articles/kak-spotify-otslezhivaet-razmery-prilozheniy.html
Наши ежедневные задачи как инженеров часто связаны с внедрением новых функциональных возможностей. Существующие пользователи получают возможность пользоваться преимуществами этих функций, для новых пользователей это причина подписаться на приложение, а мы получаем возможность писать больше кода. На первый взгляд, это идеальные симбиотические отношения - беспроигрышный сценарий, когда все довольны и ничего не может пойти не так, правильно?
Неправильно, иногда новая отличная функция приносит больше вреда, чем пользы. Причина проста - размер приложения. Любое дополнение к приложению - будь то код для новой функции, ресурс изображения для новой кнопки или даже поддержка новой локализации - приводит к увеличению размера приложения. Вы можете спросить: "Неужели это действительно проблема в нашем современном мире?". Мы утверждаем, что да.
Статья: https://apptractor.ru/info/articles/kak-spotify-otslezhivaet-razmery-prilozheniy.html
Tesla выложила в open source всю конструкцию и инжиниринг оригинального Roadster
Компания Tesla выложила в открытый доступ все конструкторские и инженерные разработки оригинального автомобиля Roadster. Сюда входит все - от руководств пользователя до схем и разъемов. Выпуск нового поколения Roadster отстает от графика на несколько лет. Обнародование дизайна может быть намеком на то, что выпуск нового поколения Roadster близок к завершению. В начале этого года Элон Маск заявил, что окончательный дизайн и проектирование Roadster будут завершены к концу 2023 года, поэтому производство автомобиля должно начаться к концу 2024 года.
Исходники: https://service.tesla.com/roadster
Компания Tesla выложила в открытый доступ все конструкторские и инженерные разработки оригинального автомобиля Roadster. Сюда входит все - от руководств пользователя до схем и разъемов. Выпуск нового поколения Roadster отстает от графика на несколько лет. Обнародование дизайна может быть намеком на то, что выпуск нового поколения Roadster близок к завершению. В начале этого года Элон Маск заявил, что окончательный дизайн и проектирование Roadster будут завершены к концу 2023 года, поэтому производство автомобиля должно начаться к концу 2024 года.
Исходники: https://service.tesla.com/roadster
Размышления о 18 лет в Google
Еще не поздно излечить Google. Для этого потребуется произвести некоторые перестановки в руководстве компании, перенести центр власти из кабинета финансового директора обратно к человеку с четким долгосрочным видением того, как использовать обширные ресурсы Google для создания ценности для пользователей. Я до сих пор считаю, что от формулировки миссии Google (упорядочить мировую информацию и сделать ее универсально доступной и полезной) можно извлечь немало пользы. Тот, кто захочет возглавить Google в течение следующих двадцати лет, извлекая максимальную пользу для человечества и не обращая внимания на краткосрочные колебания курса акций, сможет направить навыки и страсть Google на действительно великие свершения.
Статья: https://ln.hixie.ch/?start=1700627373
Еще не поздно излечить Google. Для этого потребуется произвести некоторые перестановки в руководстве компании, перенести центр власти из кабинета финансового директора обратно к человеку с четким долгосрочным видением того, как использовать обширные ресурсы Google для создания ценности для пользователей. Я до сих пор считаю, что от формулировки миссии Google (упорядочить мировую информацию и сделать ее универсально доступной и полезной) можно извлечь немало пользы. Тот, кто захочет возглавить Google в течение следующих двадцати лет, извлекая максимальную пользу для человечества и не обращая внимания на краткосрочные колебания курса акций, сможет направить навыки и страсть Google на действительно великие свершения.
Статья: https://ln.hixie.ch/?start=1700627373
IT Insights
Размышления о 18 лет в Google Еще не поздно излечить Google. Для этого потребуется произвести некоторые перестановки в руководстве компании, перенести центр власти из кабинета финансового директора обратно к человеку с четким долгосрочным видением того, как…
Мой перевод (поставьте "+" по возможности :)): https://habr.com/ru/articles/776108/
Хабр
Размышления о 18 годах работы в Google
Я пришел в Google в октябре 2005 года, а спустя 18 лет подал заявление об уходе. Прошлая неделя стала моей последней неделей в Google. Я считаю, что мне очень повезло, что мне довелось работать в...
👍4
Руководство “Путь Senior-инженера”
В этом репозитории собраны все ресурсы, необходимые для достижения уровня Senior Software Engineer. Это рассылки, книги, курсы,
доклады, каналы на YouTube, подкасты, сообщества, люди в LinkedIn и прочее.
Репозиторий: https://github.com/jordan-cutler/path-to-senior-engineer-handbook
В этом репозитории собраны все ресурсы, необходимые для достижения уровня Senior Software Engineer. Это рассылки, книги, курсы,
доклады, каналы на YouTube, подкасты, сообщества, люди в LinkedIn и прочее.
Репозиторий: https://github.com/jordan-cutler/path-to-senior-engineer-handbook
GitHub
GitHub - jordan-cutler/path-to-senior-engineer-handbook: All the resources you need to get to Senior Engineer and beyond
All the resources you need to get to Senior Engineer and beyond - jordan-cutler/path-to-senior-engineer-handbook
Почему компании нанимают людей, которые большую часть времени бездействуют?
В крупных технологических компаниях работает много инженеров, некоторые из которых делают очень мало. Некоторые говорят, что компании так поступают, чтобы удержать талантливых специалистов на рынке, но это может быть не так. Крупные проекты иногда требуют, чтобы многие люди простаивали без дела - даже если в данный момент кажется, что они ничего не делают, позже они могут сыграть важную роль в процессе. Престиж и бюджет - это тоже факторы, которые могут привести к бездействию инженеров.
Статья: https://ntietz.com/blog/why-do-companies-hire-people-to-be-idle-a-lot-of-the-time/
В крупных технологических компаниях работает много инженеров, некоторые из которых делают очень мало. Некоторые говорят, что компании так поступают, чтобы удержать талантливых специалистов на рынке, но это может быть не так. Крупные проекты иногда требуют, чтобы многие люди простаивали без дела - даже если в данный момент кажется, что они ничего не делают, позже они могут сыграть важную роль в процессе. Престиж и бюджет - это тоже факторы, которые могут привести к бездействию инженеров.
Статья: https://ntietz.com/blog/why-do-companies-hire-people-to-be-idle-a-lot-of-the-time/
Искусство создания понятных графиков
Эта статья — субъективное эссе о хороших и плохих практиках в визуализации данных, в нём приведены примеры и объяснения.
Статья: https://habr.com/ru/companies/ruvds/articles/776672/
Эта статья — субъективное эссе о хороших и плохих практиках в визуализации данных, в нём приведены примеры и объяснения.
Статья: https://habr.com/ru/companies/ruvds/articles/776672/
Бесплатный курс "Современное программирование на C++"
Этот открытый курс предназначен для тех, кто уже знаком с языком C и объектно-ориентированным программированием. Курс охватывает основы программирования на C++ и переходит к продвинутой семантике и концепциям C++.
Ключевые особенности:
• Бесплатный и часто обновляемый
• Включает последние стандартные концепции и возможности языка
• Практическое обучение: небольшие структурированные описания, иллюстрируемые кодом
• Минимальные примеры кода для демонстрации конкретной функции или проблемы без отступления от темы
• Дополнительные аспекты языка: инструменты, соглашения по кодированию, организация проекта и оптимизация кода
• Основан на опыте: многие аспекты, примеры и проблемы взяты из реальных ситуаций, с которыми я сталкивался во время своей работы в качестве инженера-программиста
Курс на GitHub: https://github.com/federico-busato/Modern-CPP-Programming
Этот открытый курс предназначен для тех, кто уже знаком с языком C и объектно-ориентированным программированием. Курс охватывает основы программирования на C++ и переходит к продвинутой семантике и концепциям C++.
Ключевые особенности:
• Бесплатный и часто обновляемый
• Включает последние стандартные концепции и возможности языка
• Практическое обучение: небольшие структурированные описания, иллюстрируемые кодом
• Минимальные примеры кода для демонстрации конкретной функции или проблемы без отступления от темы
• Дополнительные аспекты языка: инструменты, соглашения по кодированию, организация проекта и оптимизация кода
• Основан на опыте: многие аспекты, примеры и проблемы взяты из реальных ситуаций, с которыми я сталкивался во время своей работы в качестве инженера-программиста
Курс на GitHub: https://github.com/federico-busato/Modern-CPP-Programming
Аналог ChatGPT-3.5 на домашнем ПК: OpenChat 7B превосходящая 70B, DeepSeek для кода уровня ChatGPT
Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.
Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.
Статья: https://habr.com/ru/articles/776314/
Есть много локальных аналогов ChatGPT, но им не хватает качества, даже 65B модели не могут конкурировать хотя бы с ChatGPT-3.5. И здесь я хочу рассказать про 2 открытые модели, которые всё-таки могут составить такую конкуренцию.
Речь пойдет о OpenChat 7B и DeepSeek Coder. Обе модели за счет размера быстры, можно запускать на CPU, можно запускать локально, можно частично ускорять на GPU (перенося часть слоев на GPU, на сколько хватит видеопамяти) и для такого типа моделей есть графический удобный интерфейс.
Статья: https://habr.com/ru/articles/776314/
Сказочный нарратив: структурированное стратегическое планирование
Традиционная сказочная структура естественным образом укладывается в нашем мозгу, а значит, может служить руководством для анализа стратегических проблем и составления плана, понятного всем.
Статья: https://longform.asmartbear.com/strategic-planning/
Традиционная сказочная структура естественным образом укладывается в нашем мозгу, а значит, может служить руководством для анализа стратегических проблем и составления плана, понятного всем.
Статья: https://longform.asmartbear.com/strategic-planning/
Архитектурные антипаттерны
Откройте для себя распространенные антишаблоны архитектуры, узнайте, как их избежать и преодолеть "подводные камни" проектирования. Получите ценные сведения, практические советы и примеры из реального мира, чтобы создавать лучшие программные архитектуры и улучшать существующие.
Сайт: https://architecture-antipatterns.tech/
Откройте для себя распространенные антишаблоны архитектуры, узнайте, как их избежать и преодолеть "подводные камни" проектирования. Получите ценные сведения, практические советы и примеры из реального мира, чтобы создавать лучшие программные архитектуры и улучшать существующие.
Сайт: https://architecture-antipatterns.tech/