До 30 лет кажется, что ты еще успеваешь завоевать мир. Кое-кто и вправду успевает. Но вскоре у многих появляются дети, а поясница с желудком потихоньку выходят из игры. Тогда-то и начинаешь понимать – жизнь чертовски быстро заканчивается. В этой статье поговорим о том, как не просрать ее окончательно.
Пользователь
Сложные проекты для программистов, чтобы учиться новому
В основном я учился программированию самостоятельно. Когда у меня появлялась захватывающая идея, я разбирался, что необходимо для решения этой задачи. Например, когда я заинтересовался работой поисковых движков, то начал читать о вычислительной эффективности множеств. Так я обнаружил задачу «как понять, что я уже выполнил краулинг этого URL?», если их уже были тысячи. Чтобы ускорить ответ на этот вопрос, я использовал множество, поиск по которому занимает O(1), а не O(n).
Изучение того, что нужно для решения задачи, увлекательно, но при движении по собственному пути в кодинге в твоих знаниях остаются пробелы. Мне кажется, что если постоянно ставить перед собой сложные задачи, то эти пробелы будут заполняться по ходу. (Даже если это займёт больше времени, чем при прохождении курса. Интерес — важный мотиватор движения вперёд; стремитесь к тому, что любопытно вам.)
В тот момент, когда я начал понимать вычислительную эффективность и стремиться к ускорению своих программ, я как раз решал задачу, связанную с поисковым движком. С тех пор я иногда задаюсь вопросом: что стоит сделать дальше? Каким будет моё следующее сложное задание? Это сильно зависит от имеющихся у вас на текущий момент знаний; некоторые идеи имеют смысл, другие пока недостижимы. Так мы и учимся.
Я решил составить собственный список проектов, поддерживающих мой интерес к программированию. Это список в стиле серии Challenging projects every programmer should try Остина Хенли.
Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках
На фоне событий последних лет в РФ, в прошлом году решил я распрощаться с компанией в США, в которой проработал 6 лет. Закрыл ИП, юр. счета.
На фоне заявлений, дескать, сейчас в секторе ИТ кадровый голод, и такие специалисты на "вес золота", я приступил к поиску работы. Ставка была сделана на банковский сектор, т.к. довольно быстро стало понятно, что более менее устраивающие меня ЗП именно там.
Математика для взрослых. Дорожная карта от выпускника Хармфульского клуба математики
Математика для взрослых. Дорожная карта от выпускника Хармфульского клуба математики.
(1) Школа. (2) Матанализ. (3) Аналитическая геометрия. (4) Линейная алгебра.
Все плейлисты, материалы, курсы в открытом доступе и бесплатны.
Береги файлы смолоду. Что может произойти, если выкинуть в помойку неисправный жесткий диск
Время от времени мне приходится чинить старую компьютерную технику. Винчестеры формата IDE сейчас уже не выпускают, а оптические диски выступают в роли расходного материала — далеко не все возрастные ноутбуки и персоналки умеют грузиться с USB, а покупать чистые болванки пачками или поштучно — довольно разорительное занятие. Поэтому месторождением запчастей и расходников для меня служит самая популярная в Рунете доска объявлений и блошиный рынок: там можно приобрести за копейки побывавшие в употреблении перезаписываемые CD/DVD-RW, а заодно старые жесткие диски, которые еще способны послужить новым владельцам. Но речь сейчас не о том, как сэкономить на комплектующих, а о том, что порой можно обнаружить на «бэушных» носителях информации…
Вкатываемся в Machine Learning с нуля за ноль рублей: что, где, в какой последовательности изучить
Всем доброго времени суток. Я давно обещала выложить сюда подробный гайд на тему того, как можно изучать Machine Learning самостоятельно, не тратя деньги на платные курсы, и, наконец, выполняю свое обещание. Надеюсь, этот гайд станет подсказкой, которая поможет найти правильное направление новичкам, которые хотят погрузиться в нашу область.
Скорее жив, чем мёртв: тенденция по развитию iOS технологий
Подготовьте кружечку чая, запаситесь терпением и дочитайте всю статью до конца.
После 24 февраля 2022 года, события в iOS разработке начали меняться не в лучшую сторону. Приложения "крупных" компаний удаляются из App Store (пример Сбербанк, Альфа банк, ВТБ, Тинькофф). Кажется, что iOS разработчики становятся в России не актуальными, а количество Flutter разработчиков увеличивается. Так что же нас ждет? Неужели придется учить Kotlin, или вообще уходить в C++?
Как работает компьютер: глубокое погружение (на примере Linux)
Введение
Я делала много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думала об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовала системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?
Наконец, я сломалась и начала это выяснять. Мне пришлось перелопатить тонны ресурсов разного качества и иногда противоречащих друг другу. Несколько недель исследований и почти 40 страниц заметок спустя я решила, что гораздо лучше понимаю, как работают компьютеры от запуска до выполнения программы. Я бы убила за статью, в которой объясняется все, что я узнала, поэтому я решила написать эту статью.
И, как говорится, ты по-настоящему знаешь что-то, только если можешь объяснить это другому.
Про школу и продуктивное мышление
Звонок в два часа ночи.
— Марьиванна, это Вы?
— Да!
— Это папа Вашего ученика. Вы спите?
— Да!!
— А мы, блин, учим!!!
Почему любимая работа не даст вам того, чего вы на самом деле от нее ждете
В последние годы популярно искать себя и свое предназначение. Перебирать разные работы в поисках «той самой»: вкатываться в айти, работать баристой, делать ноготочки. Что не так с концепцией поиска себя и почему попытки найти «ту самую работу» затягиваются на годы, а результаты оставляют желать лучшего?
Мой «Евротур» по сектам: путешествие в один конец?
В моей жизни был период, когда я достаточно глубоко изучал тему манипуляций: читал книги, слушал лекции, участвовал в психологической экспертизе экстремистских материалов. Но это всё казалось слишком теоритезированным и оторванным от реальной жизни. Поэтому, будучи уверенным в своей «психологической неуязвимости», я решил на практике проверить свою «живучесть» и понять – а как же людей вовлекают в секты и прочие маргинальные организации и можно ли этому противостоять?
И течение трех лет я целенаправленно ходил во все места, где меня могли обмануть или сломать, ввести в заблуждение, разрушить мою личность и вовлечь в незаконную деятельность. Я внимательно слушал, записывал и даже иногда срывал занятия. Это мой «Евротур» и моя исповедь диверсанта. А в конце вас ждет бонусная история от февраля 2022 года, которая связана с манипуляцией и давлением, но уже не со стороны сект ;)
Где решать задачи по программированию, чтобы пройти путь from zero to hero
Если вам о чём-то говорят фамилии Зив, Хомченко и Рымкевич, иди сюда, дай обниму, бедолага-олимпиадник, то вы наверняка знаете, как важно прорешивать задачи для полноценного, осознанного и глубокого понимания изученного материала. Когда нет или совсем мало реальной практики, задачи дают возможность покрыть практикой все теоретические знания, погрузиться в неожиданные выводы, сложности, баги, препятствия. Более того, даже если практики достаточно, задачи помогают относительно быстро, комплексно и глубоко проработать типичные и нетипичные ситуации, возникающие в разработке (любой другой науке). Это всегда безопасный (никто не взрывает лабораторию и не роняет прод), доступный и удобный способ подробно разобраться в предмете. Определённо, программирования это касается в первую очередь.
GPT-4: Чему научилась новая нейросеть, и почему это немного жутковато
В этой статье мы разберем новые удивительные способности последней языковой модели из семейства GPT (от понимания мемов до программирования), немного покопаемся у нее под капотом, а также попробуем понять – насколько близко искусственный интеллект подошел к черте его безопасного применения?
Теория вероятностей в машинном обучении. Часть 2: модель классификации
В предыдущей части мы рассматривали вероятностную постановку задачи машинного обучения, статистические модели, модель регрессии как частный случай и ее обучение методом максимизации правдоподобия.
В данной части рассмотрим метод максимизации правдоподобия в классификации: в чем роль кроссэнтропии, функций сигмоиды и softmax, как кроссэнтропия связана с "расстоянием" между распределениями вероятностей и почему модель регрессии тоже обучается через минимизацию кроссэнтропии. Данная часть содержит много отсылок к формулам и понятиям, введенным в первой части, поэтому рекомендуется читать их последовательно.
В третьей части (статья планируется) перейдем от метода максимизации правдоподобия к байесовскому выводу и его различным приближениям.
Данная серия статей не является введением в машинное обучение и предполагает знакомство читателя с основными понятиями. Задача статей - рассмотреть машинное обучение с точки зрения теории вероятностей, что позволит по новому взглянуть на проблему, понять связь машинного обучения со статистикой и лучше понимать формулы из научных статей. Также на описанном материале строятся более сложные темы, такие как вариационные автокодировщики (Kingma and Welling, 2013), нейробайесовские методы (Müller et al., 2021) и даже некоторые теории сознания (Friston et al., 2022).
Делай нейминг как сеньор
Это объект Pizza, там хранится инфа о латте, а заказали его в Restaurant или в Pizzeria? Неудобно? Максимально. Мы читаем код существенно больше, чем пишем. И хочется сразу понимать, что происходит, не играя в квесты «что имел в виду автор», «да как это работает» и «я снова ничего не понял». Без навыка давать хороший нейминг невозможно писать качественный и поддерживаемый код. Про нейминг говорят заодно, в рамках архитектуры и общих инженерных практик. В статье поговорим про него отдельно.
Как получается, что код становится мало понятным даже для его авторов? Почему нейминг так важен? Как придумывать названия, не применяя целые теории нейминга? Как лёгким процессом организовать работу с неймингом в команде? На все эти вопросы мы ответим в статье.
Как правильно готовиться к ШАД
Я, Александр Лыков, кандидат физико-математических наук на мехмате МГУ и уже несколько лет я готовлю своих студентов к ШАД. В этой статье я решил разобрать наиболее важные моменты при подготовке к экзамену.
Собирайте свои достижения
Прошлый год, помимо того что принёс уйму проблем и заставил пересмотреть планы и ценности, преподал ещё один урок — нужно собирать свои достижения. Причём мне сигнал поступил сразу с двух сторон.
Во-первых, в сложные годы особенно остро встаёт вопрос «а кто я?». Спрашиваешь себя: «Я вообще профессионал? Я что-то могу?» Многие начали искать работу на новых для себя рынках и, соответственно, задаваться вопросом — а нужны ли мы там?
Во-вторых, когда я решил попробовать податься на визу талантов, пришлось лихорадочно собирать подтверждения своих заслуг, что оказалось больно и сложно.
В этой статье я расскажу, зачем надо собирать свои достижения, как именно это делать и какие бенефиты вы можете получить от этого неожиданно важного навыка.
Самоучитель для физиков и лириков в эпоху перемен
Или что делать, если все вокруг идут в ds, а ты куришь бамбук :)
Гайд для тех, кто выучился на технаря, но чувствует себя не на своём месте. Дисклеймер: статья отражает субъективное мнение автора...
Математика для Data Science и машинного обучения за 8 месяцев. Подробный план обучения
Беспилотные автомобили, продвинутые голосовые ассистенты, рекомендательные системы – это только малая часть тех классных продуктов, которые создаются с помощью инженеров по машинному обучению и, думаю, не для кого не секрет, что за кулисами сего чуда стоит математика. Именно она играет главную роль в понимании алгоритмов машинного и глубокого обучения.
Машинное обучение держится на трёх основных столпах: