Pull to refresh
123
0.1
Ivan Kochurkin @KvanTTT

Software Developer at JetBrains (Kotlin Compiler)

Send message

И на камнях растут деревья: как написать интересный пост о своём коде, когда это кажется невозможным

Reading time 12 min
Views 15K

Мы знаем, что про код писать сложно, но хотим, чтобы посты с ним на Хабре становились всё лучше. Поэтому на ежегодном хабраконкурсе «Технотекст-2021» мы поддержали номинацию «Программирование». А ещё  создали коллекцию советов — как написать крутой пост про свой код и порадовать этим постом аудиторию. 

Мы пройдём по основным шагам работы с текстом и покажем, как работать с темой, форматом и структурой. Научим техноавторским приёмчикам. А в пример приведём посты из нашего блога — и отличные материалы участников «Технотекста-2021». 

Хочу делать интересные посты
Total votes 23: ↑20 and ↓3 +17
Comments 14

Управление облаком с помощью API и CLI. Основы

Reading time 4 min
Views 2.7K

В этой статье объясняем, зачем нужны инструменты автоматизации API и CLI и как с их помощью управлять инфраструктурой на примере Serverspace.

Читать далее
Total votes 7: ↑5 and ↓2 +3
Comments 0

Образование в РФ избыточно

Reading time 22 min
Views 152K

Эта статья призвана дать ответы на вопросы, которые возникают у некоторых студентов во время обучения и после окончания вузов относительно процесса обучения, образования вообще. Вроде таких наивных вопросов:

Для меня, как человека, который верил в то, что учебное заведение призвано ОБУЧАТЬ, это было, мягко говоря, шоком.

Подобные заблуждения почему-то никто не старается развеять заранее, и у людей случается шок, притом уже многие прошли через современную систему образования РФ. Придётся взять на себя подобный труд. Для меня бы, например, чтение подобной статьи было бы полезно в свое время, так как до некоторых пор сам был в плену подобных иллюзий.

Также она, возможно, будет небезынтересна родителям, непонимающим для чего система образования РФ делает те или иные вещи.

Еще я попробую дать отпор различного рода пропагандистам многословно рассуждающим о проблемах образования РФ и мнимых путях их решения, о каких-то компетенциях, о нужности или ненужности ЕГЭ, об инновациях и цифровизации в образовании, прочих "внутренних" вещах, но никогда не говорящих о сути системы образования РФ. Это происходит потому, что подобного рода статьи нацелены на сокрытие главной проблемы и внедрении определенных мыслей, а не простом и понятном разъяснении сложившейся ситуации с образованием в РФ.

Прежде всего я опишу свой личный опыт взаимодействия с системой образования РФ, чтобы вы представляли как я учился, и к каким умозаключения приходил тогда; это поможет понять ход моих рассуждений в основной части статьи, где я проанализирую образовательную систему РФ.

Читать далее
Total votes 318: ↑250 and ↓68 +182
Comments 1083

Как подмочить себе репутацию на фрилансе

Reading time 8 min
Views 13K

Это глава из «Книги нормального фрилансера», в которой я делюсь накопившимся опытом проектировщика интерфейсов, работающего на себя.

Разговор ведя с клиентом, стань ему ближайшим другом,
Поделись чужим секретом, обсуди своих коллег.
Объясни, что срочно надо, чтоб проект пошёл в работу,
Скоро взнос за ипотеку и голодный дома кот.

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

«У меня тяжёлая жизненная ситуация»

Не стоит рассказывать будущим клиентам о том, как всё плохо, и как фрилансеру нужна работа. Какими бы ни были финансовые обстоятельства и как бы на самом деле ни хотелось заполучить заказ, клиент этого не должен узнать.

Читать далее
Total votes 48: ↑45 and ↓3 +42
Comments 11

О чем вы даже не подозреваете, решая стать программистом

Reading time 5 min
Views 42K

Меня зовут Кирилл Мокевнин, я CEO и сооснователь онлайн-школы программирования Хекслет. Мы помогаем людям с самым разным бэкграундом стать разработчиками уже 10 лет. За это время я не раз замечал, что зачастую студенты плохо представляют себе профессию. Вещи, не относящиеся напрямую к технической составляющей программирования, но имеющие огромное значение для успеха в будущей специальности, становятся для них сюрпризами еще во время обучения.

В этой статье я поделюсь открытиями, которые ожидают студентов и начинающих программистов, решивших посвятить себя разработке.

Читать далее
Total votes 43: ↑34 and ↓9 +25
Comments 69

AlphaGo, Аарон Шварц и опасные роботы: 10 документальных фильмов о людях и технологиях

Reading time 5 min
Views 3.9K

Новогодние праздники ― время для полезного контента. Если вы уже посмотрели второй сезон «Ведьмака», новую «Матрицу» или очередную часть «Человека-паука», мы можем предложить 10 документалок о технологиях, играх и людях, которые изменили этот мир. 

Добавляйте статью в избранное, смотрите фильмы по ссылкам и делитесь мнением в комментариях. Хороших праздников!

Читать далее
Total votes 5: ↑4 and ↓1 +3
Comments 1

Как и зачем делать доклады?

Reading time 15 min
Views 13K

Всем привет, меня зовут Рома Неволин и я много занимаюсь докладами. Готовлю доклады, выступаю с докладами, делаю доклады, ищу докладчиков, ищу темы для докладов, а еще постоянно отвечаю на вопросы про доклады. А их всегда много.

Откуда брать тему и будет ли мой доклад интересен хоть кому-нибудь — загадка. Как собрать кучу хаотичных знаний во что-то стройное тоже непонятно. А ведь с этим нужно еще и куда-то подаваться, да и вообще, на кой оно мне нужно?

На все эти вопросы я и отвечу под катом. С аргументацией, кучей примеров из разнообразных докладов и всякими полезными ссылками.

Читать далее
Total votes 59: ↑59 and ↓0 +59
Comments 13

Скучные числа

Reading time 51 min
Views 20K

1 / 0


При освоении программирования встречается один смешной спор, начинать адресацию элементов в массиве с единицы или с нуля. С одной стороны, если у тебя один элемент в массиве, то и номер у него должен быть равен единице. С другой стороны, когда выбираешь куда поместить первый элемент, то надо подыскать место, равное количеству элементов до помещения — нулевое. То есть, чему равен адрес последнего элемента — количеству элементов до помещения или после? — Вот в чём здесь вопрос.

Но, как бы то ни было, для себя я просто разделили на два понятия: индекс и номер. Индекс относится уже не к элементу, а к его месту, к величине отступа, которая для элемента номер один равна нулю. Элемент с индексом ноль — первый. Всё просто.

Соревнование между нулём и единицей может быть описано более детально.

Заметка длинная, разделена на главы
1 / 0
Зря-зря
Спуск
Простые числа
Золотая середина
Предыдущее и следующее
Уровни
Что было до нуля
Вообще без нуля

Часть вторая:
Двойные функции
Двойные числа
Биномиальная свёртка
Происхождение чисел Бернулли
Откатная функция
Пи

Функция состоит не только из нулей
Суммируя
Умножая
Симметрия Дзеты
Ось
Откуда там вообще нули?

Исторически счёт принято начинать с единицы, и это оправдано, так как отводит нулю его место — то что было в самом начале, до начала счёта. И этим указывает, что такое сам счёт. Это нахождение элемента между предыдущим и предстоящим. «Предыдущий» в начале счёта ноль, «предстоящий» элемент тоже вполне определён. Основное действие — то что понимается под «предыдущим» меняется на то что получено, и счёт можно продолжать.
Читать дальше →
Total votes 81: ↑78 and ↓3 +75
Comments 32

M/o/Vfuscator2, безумный компилятор

Reading time 4 min
Views 7.5K


Однажды один умный чувак (Кристофер Домас) читал статью другого умного чувака (Стивена Долана) про удивительную особенность архитектуры x86. Стивен ругал её за избыточность и утверждал, что набор инструкций можно сократить до одной лишь mov, потому что она Тюринг-полная. Если бы Стивен не был таким умным, в его словах можно было бы усомниться, но у Кристофера загорелись глаза: проработав двадцать лет с x86, он не слышал ни о чём подобном, и ему страшно захотелось написать компилятор, который бы переводил весь код в наборы одних лишь mov-инструкций. Так родились M/o/Vfuscator и M/o/Vfuscator2, наглядно иллюстрирующие ненормальное программирование.
Читать дальше →
Total votes 46: ↑44 and ↓2 +42
Comments 28

Markdown в науке

Reading time 10 min
Views 18K

Интернет и эпоха Web 2.0 существенно изменили метод подготовки научных публикаций. Сейчас мы читаем статьи с экранов компьютеров, смартфонов и электронных книг, а не только с бумаги. Крайне желательно, чтобы работа над текстом по превращению журнальной статьи в энциклопедическую вики-справку, в презентацию, или же в содержимое сайта, не требовала чрезмерных усилий. Далее мы рассмотрим решение означенной проблемы с помощью текстовой разметки Markdown и попробуем представить себе дальнейшее развитие технологий.

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 20

Еще одна p2p overlay сеть

Reading time 5 min
Views 4.8K

Короче говоря, волею судеб оказался я в такси и на своей шкуре испытал все прелести этой работы. Все плюсы и минусы. Из плюсов это свободный график и возможность заниматься чем то еще.

Осторожно , ненормативная лексика
Total votes 11: ↑9 and ↓2 +7
Comments 11

Что сказал-то?

Reading time 3 min
Views 2.1K
«То что ясно всем, ещё кто-то должен сказать»
Типа эпиграфа, Google/Яндекс автора не сыскали

Это вторая часть статьи «То что ясно всем».
Для лучшего понимания изложенного в ней алгоритма Z добавлю здесь удачный пример, приведённый ранее в обсуждении/комментах.
Представьте себе, что стоит задача построить кривую некоей функции Т(Х) на заданном интервале (допустимых) значений. Сделать это желательно максимально подробно, но вы заранее не знаете, когда вас «схватят за руку». Вы хотите генерировать значения Х так, чтобы в любой момент, когда прервётся построение кривой (генерация параметров Х на интервале и вычисление Т(Х)), получившийся график максимально точно отражал эту функцию. Окажется больше времени — график будет точнее, но — всегда максимум из возможного на данный момент для произвольной функции.

Конечно, для известной функции алгоритм разбиения интервала может учитывать её поведение, но здесь речь идёт об общем подходе, дающем искомый результат с минимальными «потерями». Для двумерного случая можно привести пример отображения некоего рельефа/поверхности и желать быть уверенным, что сколько успели — отобразили максимум его особенностей.
Читать дальше →
Rating 0
Comments 0

12 причин не идти в стартап

Reading time 23 min
Views 49K
За последние 10 лет в мире IT довольно прочно укоренился ряд возвеличенных стереотипных представлений о стартапах. Этому во многом способствовали миллионные тиражи книг-биографий известных CEO, которые тогда, много лет назад основали свой стартап, а потом он вырос в гигантскую корпорацию вроде Google, Amazon, Facebook. Этому способствует и несколько однобокая и фрагментированная подача материалов в it-сообществах, в том числе и на habr.com. И вряд ли в этом можно кого-то винить, но попробовать разобраться и приоткрыть ту сторону медали, которая не так масштабно освещена, всё же можно.

Я адресую эту статью начинающим программистам, которые либо не имеют опыта работы вообще, либо имеют небольшой опыт (до 5 лет). Как показывает практика, именно эта категория людей имеет максимально искаженные представления о стартапах в сфере IT. Искаженные – в том смысле, что на вопрос «что можешь сказать положительного о стартапах?», они могут долго пересказывать чужие и в немалой степени устаревшие мысли, а на вопрос «что не так со стартапами?» — в ответ могут лишь неуверенно вопросить: «они могут не выстрелить?»

Эта статья предназначена тем, кто просто никогда не задумывался над вопросом, почему не стоит идти работать в стартап в качестве сотрудника. Поехали!
Читать дальше →
Total votes 151: ↑118 and ↓33 +85
Comments 220

Как писать книгу по физике в LaTeX. Cтатья 1

Reading time 26 min
Views 34K
Это моя первая статья на Хабре.

Глава 1. Введение


1.1 Позвольте представиться и почему я это пишу

Я — научный сотрудник, физик. Недавно выпустил книгу по спектроскопии объемом 880 страниц и весом 1560 грамм. Эту книгу я писал 9 лет, параллельно читая лекции по ее содержимому. Она отняла у меня очень много времени, что естественно. Что не естественно — это то, что громадная часть потраченного времени ушла на оформление, то есть на изучение языка Латех. И это при том, что я на Латехе пишу всю жизнь, лично написал и опубликовал около 50 статей в разных издательствах.

В этой статье (планируется продолжение, но это как пойдёт) я хотел бы поделиться с читателями своими, с большими затратами полученными знаниями. Если читатель пишет только статьи, то моя статья ему не очень нужна — в ней собрано то, что требуется авторам больших книг.

После публикации книги (пока, увы, только на русском языке) у меня возникло громадное желание написать ещё книгу "Как написать книгу по физике в Латехе"
Читать дальше →
Total votes 128: ↑127 and ↓1 +126
Comments 100

Разработка бренда в среде lean startup. Часть 1

Reading time 5 min
Views 1.4K
Очень часто владельцы малого бизнеса или основатели стартапов сталкиваются с проблемой разработки бренда своей компании и отстройки от конкурентов в условиях ограниченных ресурсов. Особенно актуально это сейчас, когда в мире бушует пандемия Covid-19.

Запустив несколько стартапов, я выработал определенный алгоритм разработки бренда для небольших компаний и стартапов, которым относительно легко пользоваться. Эта статья — первая из цикла «Разработка бренда в среде lean startup». В ней мы сосредоточимся на общем описании подхода к разработке бренда и на практических шагах его реализации.

Данный подход подойдет, как владельцам МСП, стартапов, так и начинающим маркетологам.
Читать дальше →
Total votes 9: ↑7 and ↓2 +5
Comments 4

В пещерах этого не было

Reading time 7 min
Views 91K
Есть такой момент в человеческой психологии, что многие вещи, услышанные в течение жизни, начинают восприниматься как нечто само собой разумеющееся — как гравитация или магнетизм, хотя их просто кто-то когда-то придумал. От этой напасти в мозгу есть лайфхак – «В пещерах такого не было», об этом я сегодня выскажусь в плане IT.

image

Глава 0. Base-1


Когда я учился в школе (199x) все сидели на Pascal – язык чёткий, мудрый, на нём даже Dos Navigator был написан c VESA скринсейверами, а позже The Bat!, и олимпиадники ACM ICPC в 2000-е годы были в основном паскалистами. Мне из-за любви к играм и графике в то время зашёл C/C++, и сразу же в глаза бросилось фундаментальное различие – от ноля или единицы индексируются массивы, это до сих пор приходится уточнять на том же hackerrank.com.
Читать дальше →
Total votes 169: ↑163 and ↓6 +157
Comments 227

GitHub Actions и LaTeX: поднимаем, заливаем

Reading time 6 min
Views 5.9K
В этой статье мы настроим пайплайн в GitHub для автоматической сборки pdf-файлов и последующей выкладки в Releases. Также поднимаем небольшой сайт-визитку с ссылкой на самые свежие сборки.

Материал будет полезен новичкам и тем, кто хочет быстро поднять CI/CD для latex встренными средствами GitHub.
Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Comments 4

Что такое тензорные ядра: вычисления со смешанной точностью

Reading time 10 min
Views 64K
image

В течение последних трёх лет Nvidia создавала графические чипы, в которых помимо обычных ядер, используемых для шейдеров, устанавливались дополнительные. Эти ядра, называемые тензорными, уже есть в тысячах настольных PC, ноутбуков, рабочих станций и дата-центров по всему миру. Но что же они делают и для чего применяются? Нужны ли они вообще в графических картах?

Сегодня мы объясним, что такое тензор, и как тензорные ядра используются в мире графики и глубокого обучения.

Краткий урок математики


Чтобы понять, чем же заняты тензорные ядра и для чего их можно использовать, нам сначала разобраться, что такое тензоры. Все микропроцессоры, какую бы задачу они ни выполняли, производят математические операции над числами (сложение, умножение и т.д.).

Иногда эти числа необходимо группировать, потому что они обладают определённым значением друг для друга. Например, когда чип обрабатывает данные для рендеринга графики, он может иметь дело с отдельными целочисленными значениями (допустим, +2 или +115) в качестве коэффициента масштабирования или с группой чисел с плавающей точкой (+0.1, -0.5, +0.6) в качестве координат точки в 3D-пространстве. Во втором случае для позиции точки требуются все три элемента данных.

Тензор — это математический объект, описывающий соотношения между другими математическими объектами, связанными друг с другом. Обычно они отображаются в виде массива чисел, размерность которого показана ниже.
Читать дальше →
Total votes 26: ↑26 and ↓0 +26
Comments 26

Как работает доказательство Гёделя

Reading time 8 min
Views 73K

Его теоремы о неполноте разгромили поиск математической теории всего. Почти сто лет спустя мы всё ещё пытаемся осмыслить последствия этого.




В 1931 году австрийский логик Курт Гёдель провернул, вероятно, один из самых потрясающих интеллектуальных трюков в истории.

Математики той эпохи искали неколебимые основы математики: набор базовых фактов, аксиом, которые были бы непротиворечивыми и полными, играя роль строительных блоков всех математических истин.

Однако шокирующие теоремы Гёделя о неполноте, опубликованные им всего лишь в 25-летнем возрасте, разбили эту мечту. Он доказал, что любой набор аксиом, который вы можете предложить на роль основы математики, неизбежно будет неполным. Всегда найдутся истинные утверждения, касающиеся чисел, которые невозможно будет доказать при помощи этих аксиом. Он также показал, что ни один набор аксиом нельзя использовать для доказательства их собственной непротиворечивости.
Читать дальше →
Total votes 109: ↑104 and ↓5 +99
Comments 346

Джоел Спольски: роль геймификации в успехе Stack Overflow

Reading time 5 min
Views 2.3K
В 2010 году успех Stack Overflow привел к тому, что в нас захотели вкладываться венчурные капиталисты. 



Фирма, которая в итоге стала нашим спонсором, называлась Union Square Ventures. Ее владельцы признались, что их настолько привлекал концепт геймификации, что они вкладывались только в те компании, которые инкорпорируют в свой продукт элемент геймплея. 

Например, Foursquare. Помните такую сеть? Она позволяла превратить поход в дешевую кафешку или бар в увлекательную игру, которая попутно генерировала данные для маркетологов. Или Duolingo — забавное приложение с карточками для изучения иностранных языков. В то время USV вкладывались в подобные компании.

Вот тогда я осознал, что у Stack Overflow тоже есть элемент геймификации. Не такой очевидный, конечно, лишь малая толика, связанная с репутацией. 

Элемент репутаций на Stack Overflow началась с системы оценок. Первоначальная идея заключалась в том, что участники получают 10 баллов, когда их ответы лайкают. Такая система апвоутов выполняет сразу две функции: самые полезные ответы выходят в топ, давая другим участникам форума понять, что этот совет оказался полезным; также она показывает человеку, написавшему этот ответ, что его труды не прошли напрасно. А это мотивирует еще как.
Читать дальше →
Total votes 8: ↑6 and ↓2 +4
Comments 6

Information

Rating
2,501-st
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity