• Увлекательные сайд-проекты, которыми можно заняться уже сегодня

    • Translation
    Это перевод статьи, опубликованной на сайте medium.com. В ней разработчик из Нидерландов Daan советует разные проекты, которые помогут в свободное время прокачать профессиональные навыки: от работы c 3D до создания биткойн-трекера.

    Читать дальше →
    • +10
    • 4.4k
    • 3
  • Сети для начинающего IT-специалиста. Обязательная база

    Примерно 80% из нас, кто заканчивает университет с какой-либо IT-специальностью, в итоге не становится программистом. Многие устраиваются в техническую поддержку, системными администраторами, мастерами по наладке компьютерных устройств, консультантами-продавцами цифровой техники, менеджерами в it-сферу и так далее.


    Эта статья как раз для таких 80%, кто только закончил университет с какой-либо IT-специальностью и уже начал мониторить вакансии, например, на должность системного администратора или его помощника, либо выездного инженера в аутсорсинговую фирму, либо в техническую поддержку 1-й/2-й линии.


    А также для самостоятельного изучения или для обучения новых сотрудников.


    За время своей трудовой деятельности в сфере IT я столкнулся с такой проблемой, что в университетах не дают самую основную базу касательно сетей. С этим я столкнулся сначала сам, когда, после окончания университета, ходил по собеседованиям в 2016 году и не мог ответить на простые (как мне сейчас кажется) вопросы. Тогда мне конечно показалось, что это я прохалтурил и не доучил в университете. Но как оказалось дело в образовательной программе. Так как сейчас, я также сталкиваюсь с данным пробелом знаний, когда обучаю новых сотрудников.


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


    Именно поэтому я решил собрать основные темы в одну статью и объяснить их как можно проще «на пальцах».

    Читать дальше →
  • Истоки математики: логические идеи

    Привет, Хабр! Представляю вашему вниманию перевод статьи "Math Origins: The Logical Ideas" автора Erik R. Tou (University of Washington Tacoma).


    От переводчика:

    В журнале Математической ассоциации Америки был опубликована серия статей об истоках математики вообще и нотации в частности. Последние две из опубликованных к текущему моменту пяти статей показались мне наиболее интересными, поэтому я публикую перевод первой из них — «Math Origins: The Logical Ideas».
    Читать дальше →
    • +13
    • 8.2k
    • 7
  • Zip-файлы: история, объяснение и реализация

    • Translation


    Мне давно было интересно, как сжимаются данные, в том числе в Zip-файлах. Однажды я решил удовлетворить своё любопытство: узнать, как работает сжатие, и написать собственную Zip-программу. Реализация превратилась в захватывающее упражнение в программировании. Получаешь огромное удовольствие от создания отлаженной машины, которая берёт данные, перекладывает их биты в более эффективное представление, а затем собирает обратно. Надеюсь, вам тоже будет интересно об этом читать.

    В статье очень подробно объясняется, как работают Zip-файлы и схема сжатия: LZ77-сжатие, алгоритм Хаффмана, алгоритм Deflate и прочее. Вы узнаете историю развития технологии и посмотрите довольно эффективные примеры реализации, написанные с нуля на С. Исходный код лежит тут: hwzip-1.0.zip.
    Читать дальше →
  • Дорожная карта математических дисциплин для машинного обучения, часть 2 (вероятности)

      Вместо введения


      Давным давно была первая часть, теперь настало время для второй части! Здесь затронем вопросы, связанные с теорией вероятностей.

      Читать дальше →
    • Дорожная карта математических дисциплин для машинного обучения, часть 1

      • Tutorial

      Вместо предисловия


      Допустим, сидя вечерком в теплом кресле вам вдруг пришла в голову шальная мысль: «Хм, а почему бы мне вместо случайного подбора гиперпараметров модели не узнать, а почему оно всё работает?»
      Читать дальше →
    • Тайм-менеджмент не поможет: прокрастинация это проблема регуляции эмоций, а не времени

      • Translation

      От прокрастинации не избавиться, не разобравшись в её причинах.

      В этом деле я собаку съел, как и многие писатели. Когда мне нужно работать над задачей, а дедлайн уже близок, я буду делать всё что угодно — смотреть политические ток-шоу, подборки нокаутов МакГрегора, но не работать. В худшем случае я начинаю чувствовать себя слегка сумасшедшим: «Ты должен работать, — говорю я себе, — так чем же ты опять занят?!»
      Читать дальше →
    • Доклад «42». Большой конспект

        Привет, Хабр, меня зовут Вадим Макишвили. В 2014 году я выступил с докладом «36». Рассказывал про кризис среднего возраста, признавался в собственных слабостях и делился способами, которые помогли мне совладать со страхами. Сразу после выступления друзья стали надо мной подтрунивать, мол, давай каждые десять лет по продолжению. Я отшучивался, мол, обязательно сделаю. Но, вообще-то, не собирался, потому что каждые десять лет рассказывать всему миру про свои страхи — скучно.

        Однако несколько месяцев назад на конференции YaTalks в Екатеринбурге я выступил с новым докладом. В заголовке число 42, и возникает вопрос: «Неужели Макишвили — автор одной темы?» Нет. Самокопания не было. А что было? И можно ли «42» считать продолжением «36»?

        Мой рассказ имеет отношение к предыдущей лекции лишь косвенно. В «42» я детально обдумываю тему, которой тогда едва коснулся. Но если кому-то удобнее думать, что «42» — вторая серия, пусть так. Тогда впереди ещё и третья, которая не будет иметь ничего общего ни с первой, ни со второй, ну разве что автор — я, и название тоже окажется каким-то числом.

        «42» — точно не про кризис среднего возраста.


        — Здравствуйте, друзья. Мне очень много хочется вам рассказать. Так много, что первая версия этого доклада длилась два часа. Но организаторы сказали мне — Макишвили, не наглей. Короче, вы со мной здесь на час. Я постараюсь, чтобы вам не было ни скучно, ни грустно.
        Читать дальше →
      • Уроки проектирования. Предметная область и ее математические модели

          “Многого можно добиться добрым словом. Но гораздо большего можно добиться добрым словом и пистолетом”( Аль Капоне). “Но иногда помогает только пистолет”( не Аль Капоне).

          Чтобы не быть обвиненным в пропаганде вооруженного бандитизма, сразу поясню, что под пистолетом здесь понимается математическая модель предметной области. Поэтому афоризм трансформируется в “Многого можно добиться словами. Но гораздо большего можно добиться словами и математикой. А иногда помогает только математика”. Теряется острота, но правда ведь остается.
          Читать дальше →
        • Сделай сам: MSc Computer Science на уровне топ американских университетов из дома

            Вступление


            Давно хотел написать статью про образование в Computer Science, но руки не доходили. Решил все-таки это наконец сделать. Итак, о чем пойдет речь? Речь о том, что из себя представляет диплом MSc Computer Science топовых университетов США (во всех подробностях, включая основные курсы, книги и проекты) и как ему соответствовать.

            Почему именно MSc? Это — некая развилка: с одной стороны после MSc — вы уже готовый к жизни инженер (да, речь идет о инженерной подготовке, как мне кажется это самое больное место в нашей системе образования), с другой — можно спокойно идти по пути PhD. Как известно, в PhD программу можно попасть и не особо умея программировать — особенно это касается теоретического Computer Science. С другой стороны найти работу программиста тоже дело не очень сложное, и часто не требует мощного образования. Но достигнув уровня MSc — вы получаете возможность разбираться как во всех новый идеях в Computer Science, так и возможность их воплотить в практику. То есть с одной стороны круто разобраться в каком-нибудь deep learning и сделать в нем что-то новое, а также взять и написать свою операционную систему (кто так сделал?). Причем вы не зажаты в рамки узкой специализации (если конечно продолжаете учиться). То есть вы теперь — универсальный солдат, готовый на все.

            Надеюсь что эта статья будет полезна:
            1. Студентам, которые хотят соответствовать высоким стандартам топ вузов США, или собирающиеся туда в аспирантуру по Computer Science
            2. Профессионалам, которые хотят закрыть «дыры» и пробелы
            3. Может кто-то из преподавателей возьмет на заметку для своих курсов.
            4. Студентам, аспирантам американских вузов — хотелось бы тоже получить фидбэк, особенно касается последних трендов в образовании

            Что же здесь будет написано? Минимум философии и общих мыслей: конкретная программа undergraduate и graduate курсов, конечно из дисциплин наиболее мне близких. Все курсы были лично прочувствованы на собственной шкуре, по этому и пишу. (Я пытался записаться на все интересные курсы, которые были, но мой основной упор — системное программирование, базы данных и искусственный интеллект. Отсюда конечно некий bias, но пытаюсь предложить более-менее универсальную программу).
            Читать дальше →
          • Старикам здесь не место? Программируем после тридцати пяти



              Привет, меня зовут Дмитрий, мне 35 лет. Раньше я часто слышал, что программист — профессия для молодых. Тем не менее прошлым летом я получил приглашение в Яндекс и перебрался работать в Москву.


              В этой статье я хотел бы затронуть вопрос, который не раз обсуждался на Хабре: насколько реально быть программистом после 35–40 лет? Не ведущим архитектором, не тимлидом, не менеджером проекта, а именно программистом? Я не согласен с мнением, что программирование — это удел молодых. Считаю его вредным и сейчас расскажу почему.


              Существует несколько доводов, на которые опирается этот миф. Давайте-ка их подробно рассмотрим.

              Читать дальше →
            • Всё, что вы хотели знать о МАС адресе

                Всем известно, что это шесть байт, обычно отображаемых в шестнадцатеричном формате, присвоены сетевой карте на заводе, и на первый взгляд случайны. Некоторые знают, что первые три байта адреса – это идентификатор производителя, а остальные три байта им назначаются. Известно также, что можно поставить себе произвольный адрес. Многие слышали и про "рандомные адреса" в Wi-Fi.


                Разберемся, что это такое.


                МАС адрес (media access control address) – уникальный идентификатор, назначенный сетевому адаптеру, применяется в сетях стандартов IEEE 802, в основном Ethernet, Wi-Fi и Bluetooth. Официально он называется «идентификатором типа EUI-48». Из названия очевидно, что адрес имеет длину в 48 бит, т.е. 6 байт. Общепринятого стандарта на написание адреса нет (в противоположность IPv4 адресу, где октеты всегда разделяют точками).Обычно он записывается как шесть шестнадцатеричных чисел, разделенных двоеточием: 00:AB:CD:EF:11:22, хотя некоторые производители оборудования предпочитают запись вида 00-AB-CD-EF-11-22 и даже 00ab.cdef.1122.

                Читать дальше →
              • Разработчики — никакая не элита, а голые короли индустрии

                ЛОЛШТО?


                Пожалуйста, не поймите меня неправильно. Я профессиональный разработчик с 30-летним стажем. Я могу читать и понимать почти двадцать языков, полных по Тюрингу. Я могу писать ясный и выразительный код на доброй дюжине из них. В языках, которые я действительно люблю и использую ежедневно — мое имя можно увидеть на доске почета StackOverflow (топ-20 в мире: ruby, elixir). Я по-настоящему люблю писать код, и я отклоняю все предложения «вырасти» по должностной лестнице, будь то руководство проектами, CTO, или что угодно в этом направлении, несмотря на потенциальное увеличение дохода в разы.


                professional beggars were often seen as people not deserving of aid
                — Abraham Willemsens (Metropolitan Museum of Art)


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

                Читать дальше →
              • 23 ответа о депрессии от профессионального психиатра Максима Малявина (dpmmax)

                  С утра ни руку поднять, ни строчку кода написать. Нет ни аппетита, ни настроения, ни возможности получать удовольствие от того, что раньше радовало. Да, ангедония, сэр, она самая. Плюс самооценка ниже плинтуса — уже к соседям внизу через люстру стучится. Трудно сосредоточиться, постоянная усталость, мысли с трудом ворочаются в голове. И даже ночью не приходит облегчение — бессонница.


                  Это в недобрый час посетила вас классическая «депрессивная триада».


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


                  А сейчас было бы полезно выслушать мнение специалиста-психиатра. Потому что опыта у него не один десяток лет и не одна тысяча пациентов.


                  Максим Малявин — участковый врач-психиатр психоневрологического диспансера города Тольятти
                  Он уже общался с читателям Хабра в интервью «Профессиональное выгорание айтишников: 15 ответов психиатра Максима Малявина».


                  Психиатр ведёт очень известный в сети «Блог Добрых Психиатров» (dpmmax), и пишет невероятно забавные психиатрические байки, которые способны отогнать осенне-зимнюю хандру. Издал немало книг: от «Записки психиатра, или Всем галоперидолу за счет заведения» и «Новые записки психиатра или Барбухайка, на выезд!» до «Укол повелителю галактики».


                  Кроме того Максим ведёт проект «Найди своего психиатра» специально для тех, кто не знает, к кому обратиться и как подобрать по-настоящему хорошего специалиста.


                  Но не будем бесконечно тянуть шприц за поршень и приступим к самому интервью...



                  Читать дальше →
                • История Интернет-порно. Часть 2

                  • Translation
                  Недавно в статье Великий порноэксперимент: история Интернета для взрослых, мы затронули важную для всех тему, однако упустили полноценную историческую часть, которая не менее важна и интересна, и пожалуй, заслуживает двух отдельных публикаций.

                  «Интернета просто бы не существовало без порно и Стартрека» — Рик Берман, продюсер телесериала «Звездный путь».

                  Disclaimer. В статье присутствуют изображения эротического содержания и полностью отсутствует какой-либо порнографический контент. Рассказывается о том, какое развитие обеспечил контент для взрослых в целом для медиаиндустрии и для сети Интернет после её рождения. Вы узнаете историю от порно-театров до наших дней, почему VHS победил BetaMax, о том, как «сисопы» заработали свои первые миллионы долларов на эротическом контенте, распространяя его миллионам человек еще до того, как появился Интернет, то есть тогда, когда в Интернете ещё никого не было. А также то, как Амазон и многие другие онлайн-корпорации, использовали модель Леви для работы с партнёрами, применявшуюся на ранних сайтах для взрослых, и то что двухфакторная идентификация впервые была изобретена для того, чтоб защитить пользователей от нежелательных порнографических email-рассылок, а не только для повышения безопасности.

                  История Интернет-порно. Часть 1

                  Читать дальше →
                • Великий порноэксперимент: история Интернета для взрослых

                    Сайты для взрослых, или простым языком, порносайты, занимают ключевое место во Всемирной паутине и её развитии. Если вспомнить недавний сериал «Холивар. История рунета. Часть 1. Начало: хиппи из Калифорнии, Носик и лихие 90-е» и термин «две девушки в час», «то есть это тогда, когда было fido, были модемы 1200 бит, и вот ты сидел и у тебя в час две картинки девушек эротического содержания проходило», становится очевидным, что трафик для взрослых сыграл свою немаловажную роль. Ведь зачем ещё развивать сети, если не для стриминга порно?

                    Знаете ли вы какой процент мирового трафика составляет порнография и какой сумме он эквивалентен в долларах США в год? Какие ухищрения придумывают порносайты и какого типа бывают проекты для привлечения своей аудитории? Несёт ли порно вред или пользу?

                    Отдельные разделы нашего рассказа мы посвятим «Великому порноэксперименту» и приведём научные факты и данные, которые говорят, как о пользе, так и о вреде порно. Бесконечная новизна! Эффект Ку́лиджа и последствия воздействия на не окрепшую психику или наоборот помощь в формировании устойчивой и более окрепшей психики? С помощью интернет-порно парень может увидеть больше горячих девушек за 10 минут, чем его предки могли за несколько жизней. Проблема в том, что у парня мозг охотника-собирателя.
                    Читать дальше →
                  • Памятка по борьбе с алкоголем или Как пережить фуршеты

                    • Tutorial
                    Тут вот праздники скоро. Спросил недавно друг «как мне это все пережить?». Я сначала объяснял, а потом решил написать статью на Хабр. Рассказанное — услышит один человек, а написанное — прочитают сотни!

                    Меня, если честно, достаточно сильно раздражают всевозможные застолья. Потому что гораздо приятнее посидеть с паяльником или читая книгу, а не "… хорохорясь, ерепенясь и валяясь, как колода..." провести выходные. Но традиции-с, будь они неладны, формировались столетиями и не умея пить — бывает достаточно сложно вписаться в коллектив, найти нужный подход и т.д. Особенно грешат этим делом всевозможные руководящие кадры из старого поколения. Что же делать тем, для кого алкоголь и необходимость его употреблять — это просто лишняя головная боль? Самый простой ответ — НЕ ПИТЬ, но на практике полностью это очень сложно реализовать. Эффективнее в наших реалиях принять тезис «алкоголь — просто инструмент» и учиться с ним правильно работать и использовать для решения своих задач с минимизацией ущерба для здоровья.

                    Статью кладем в закладки и рассылаем всем друзьям, подчиненным и т.д. и т.п. Есть время подготовиться и встретить новогодние корпоративы во всеоружии. Практически уверен, что многое из описанного активно используют те, кто «не напиваться» обязан по долгу службы. Простой же обыватель чаще про это не думает, полагаясь на удачу и легкую руку. И чаще всего оказывается в проигрыше. Предупрежден = вооружен, поэтому под катом читаем, как победить в битве с алкоголем.

                    Читать дальше →
                  • Как работает видеокодек. Часть 1. Основы

                    • Translation

                    Вторая часть: Принципы работы видеокодека




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

                    Если рассматривать итоговый цвет как комбинацию т.н. основных цветов (красного, зеленого и синего), в нашей трёхмерной матрице определяем три плоскости: первая для красного цвета, вторая для зеленого и последняя для синего.
                    3D матрица RGB

                    Будем называть каждую точку в этой матрице пикселем (элементом изображения). Каждый пиксель содержит информацию об интенсивности (обычно в виде числового значение) каждого цвета. Например, красный пиксель означает, что в нём 0 зеленого цвета, 0 синего и максимум красного. Пиксель розового цвета может быть сформирован с помощью комбинации трех цветов. Используя числовой диапазон от 0 до 255, розовый пиксель определяется как Красный = 255, Зелёный = 192 и Синий = 203.
                    Читать дальше →
                  • Как работает видеокодек. Часть 2. Что, для чего, как

                    • Translation

                    Первая часть: Основы работы с видео и изображениями




                    Kodek's History

                    Что? Видеокодек — это часть программного/аппаратного обеспечения, сжимающая и/или распаковывающая цифровое видео.

                    Для чего? Невзирая на определённые ограничения как по пропускной способности так
                    и по количеству места для хранения данных, рынок требует всё более качественного видео. Припоминаете, как в прошлом посте мы подсчитали необходимый минимум для 30 кадров в секунду, 24 бита на пиксель, с разрешение 480x240? Получили 82,944 Мбит/с без сжатия. Сжатие — это пока единственный способ вообще передавать HD/FullHD/4K на телевизионные экраны и в Интернет. Как это достигается? Сейчас кратко рассмотрим основные методы.
                    Читать дальше →
                  • Я работаю программистом в компании, но свои 50 лет хочу встретить иначе

                      У меня есть мечта – лет в 50 выйти на пенсию, сидеть на берегу моря и программировать для какого-нибудь проекта. Бесплатно и для души…



                      Сейчас я сижу на пляже и пишу код за деньги. Мне 34. Я во Вьетнаме. Передо мной столик с ноутбуком, надо мной — навес пляжного бара, слева – славный город Нячанг, а справа – волны Южно-Китайского моря. К этому столику в пляжном баре я шел последние пять лет.
                      Читать дальше →