Как стать автором
Обновить
14
0
Анжел Божинов (Anzhel Bozhinov) @Mairon

User

Отправить сообщение

Сборка ядра Linux с LTO оптимизацией

Время на прочтение25 мин
Количество просмотров29K


Технический прогресс не стоит на месте, появляются новые компьютерные архитектуры, компиляторы становятся умнее и генерируют более быстрый машинный код. Современные задачи требуют все более креативного и эффективного решения. В данной статье пойдет речь, на мой взгляд, про один из самых прогрессивных тулчейнов LLVM и компиляторы на его основе Clang и Clang++, для языков программирования С и C++ соответственно. Хоть GCC — конкурент Clang, может агрессивнее оптимизировать циклы и рекурсию, Clang дает на выходе более корректный машинный код, и чаще всего не ломает поведение приложений. Плюс оптимизация программ не заканчивается только оптимизацией циклов, поэтому Clang местами дает лучшую производительность. В GCC же за счет переоптимизации вероятность получить unpredictable behavior значительно выше. По этой причине на многих ресурсах не рекомендуют использовать -O3 и LTO(Link Time Optimization) оптимизации для сборки программ. Плюс в случае агрессивной оптимизации, размер исполняемых файлов может сильно увеличиться и программы на практике будут работать даже медленнее. Поэтому мы остановились на Clang не просто так и опции компиляции -O3 и LTO работают в нем более корректно. Плюс современные компиляторы более зрелые, и сейчас уже нет тех детских болячек переоптимизации и LTO.
Узнать подробности
Всего голосов 81: ↑70 и ↓11+59
Комментарии55

Как стать успешным дата-сайентистом и аналитиком данных

Время на прочтение7 мин
Количество просмотров11K

Есть много статей о навыках, необходимых, чтобы быть хорошим дата-сайентистом, или аналитиком данных, но лишь в немногих статьях пишут о навыках, необходимых для успеха — будь то исключительная оценка работы, похвала от руководства, повышение, или все вышеперечисленное. Сегодня мы представляем вам материал, автор которого хотела бы поделиться своим личным опытом работы в качестве дата-сайентиста и аналитика данных, а также тем, чему она научилась ради достижения успеха.
Приятного чтения!
Всего голосов 19: ↑15 и ↓4+11
Комментарии6

450 бесплатных курсов от Лиги Плюща

Время на прочтение19 мин
Количество просмотров68K
image


Информационные технологии позволяют получить невероятно крутые образовательные ресурсы в один клик. Бесплатно.

Я сейчас решаю задачу, как из огромной массы жизненно важного контента выбрать тот, который стоит попробовать в первую очередь, как «разметить данные», чтобы нейросеточка у подрастающего поколения обучилась более эффективно. (ontol.org, «Выгорание», «Удаленка», телеграм-канал).

Предлагаю вашему вниманию полную подборку всех бесплатных курсов от Лиги Плюща.

Лига плюща (The Ivy League) — ассоциация восьми частных американских университетов, расположенных в семи штатах на северо-востоке США. В состав лиги входят: Брауновский университет (Brown University), Гарвардский университет (Harvard University), Дартмутский колледж (Dartmouth College), Йельский университет (Yale University), Колумбийский университет (Columbia University), Корнеллский университет (Cornell University), Пенсильванский университет (University of Pennsylvania), Принстонский университет (Princeton University).

Эти университеты выпустили около 500 онлайн-курсов, 450 из которых сейчас доступны.

Оглавление


Computer Science (37)
Data Science (18)
Программирование (8)
Гуманитарные науки (80)
Бизнес (72)
Art & Design (20)
Наука (32)
Социальные науки (74)
Здоровье и медицина (32)
Инженерия (15)
Образование и преподавание (21)
Математика (14)
Личностное развитие (7)

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии5

15 книг по машинному обучению для начинающих

Время на прочтение5 мин
Количество просмотров156K
Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как.
Добавляйте в закладки и делитесь с коллегами!

Книги по машинному обучению на русском


1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин.

О чем

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

2. «Верховный алгоритм» Педро Домингос.

О чем

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии23

Комикс «Паять просто» в обновлённом варианте (2019)

Время на прочтение1 мин
Количество просмотров36K
image

Всем добрый день. Одним далёким днём (летним или зимним уже и не упомнить) набрёл я на статью от atarity, где в красках (во всех смыслах) было рассказано о том, как легко и просто можно научиться паять (ссылку на комикс прилагаю).
Читать дальше →
Всего голосов 64: ↑62 и ↓2+60
Комментарии101

Я не знал, как работают процессоры, поэтому написал программный симулятор

Время на прочтение6 мин
Количество просмотров44K

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

Я прочитал книгу «Но откуда он знает?» Кларка Скотта с детальным описанием простого 8-битного компьютера: начиная с логических вентилей, ОЗУ, транзисторов процессора, заканчивая арифметико-логическим устройством и операциями ввода-вывода. И мне захотелось реализовать всё это в коде.

Хотя я не настолько интересуюсь физикой микросхем, но книга просто скользит по волнам и красиво объясняет электросхемы и как биты перемещаются по системе — от читателя не требуется знание электротехники. Но мне недостаточно текстового описания. Я должен видеть вещи в действии и учиться на своих неизбежных ошибках. Так я начал реализацию схем в коде. Путь оказался тернист, но поучителен.
Читать дальше →
Всего голосов 72: ↑68 и ↓4+64
Комментарии33

Как я пишу конспекты по математике на LaTeX в Vim

Время на прочтение9 мин
Количество просмотров123K
Некоторое время назад на Quora я отвечал на вопрос: как успевать записывать за лектором конспект по математике на LaTeX. Там я объяснил свой рабочий процесс по конспектированию в LaTeX с помощью Vim и Inkscape (для рисунков). Но с тех пор многое изменилось, так что я хочу опубликовать несколько постов в блоге с описанием нового процесса. Это первая из статей.

Я начал использовать LaTeX для конспектирования во втором семестре курса математики, и с тех пор написал более 1700 страниц. Вот несколько примеров, как выглядит конспект:


Читать дальше →
Всего голосов 222: ↑220 и ↓2+218
Комментарии133

Король разработки

Время на прочтение15 мин
Количество просмотров210K


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

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

Недавно у него дела пошли в гору, и там где нормальные люди радуются и расцветают, этот парень, кажется, совсем съехал с катушек. Мы с ним как следует выпили, и он рассказал мне много искреннего дерьма, которое, честно, я бы хотел расслышать обратно.
Читать дальше →
Всего голосов 375: ↑315 и ↓60+255
Комментарии667

Как стать тестировщиком — необходимые знания и навыки

Время на прочтение4 мин
Количество просмотров39K


Источник


На GeekBrains открылся курс "Инженер автоматизированного тестирования ПО". Специалисты этого направления должны знать и уметь очень многое, включая ручное и автоматизированное тестирование, различные языки программирования, плюс иметь багаж технических знаний различного уровня. Прежде, чем подробнее говорить о необходимых тестировщику знаниях и навыках, попробуем ответить на простой вопрос: "Зачем вообще нужен тестировщик ПО?".

Читать дальше →
Всего голосов 42: ↑36 и ↓6+30
Комментарии12

Как получить Google Developers Certification: Mobile Web Specialist

Время на прочтение5 мин
Количество просмотров9.8K

Привет, Хабр! Сегодня хочу поделиться с вами историей о том, как я сдавал сертификационный экзамен Google Developers Certification: Mobile Web Specialist. Если честно, то каких-то объективных причин я назвать не могу, так как не слышал ещё ни об одном случае, когда наличие сертификата давало кому-то преференции при устройстве на работу или помогало повысить зарплату. Под катом расскажу, почему всё же решил сдать экзамен и подробно опишу, как я его сдавал.


Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Комментарии4

Google Drive как хранилище для веб-приложения

Время на прочтение9 мин
Количество просмотров40K

Предисловие


Мое веб-приложение хранит данные в localStorage. Это было удобно, пока не захотелось, чтобы пользователь, заходя на сайт с разных устройств, видел одно и то же. То есть, понадобилось удаленное хранилище.

Но приложение «хостится» на GitHub Pages и не имеет серверной части. Я решил не делать сервер, а данные хранить у третьей стороны. Это дает существенные преимущества:

  1. Не нужно платить за сервер, не болит голова о его стабильности и доступности.
  2. Меньше кода, меньше ошибок.
  3. Пользователю не нужно регистрироваться в моем приложении (это многих раздражает).
  4. Приватность выше, и пользователь знает, что его данные хранятся в месте, которому он, скорее всего, доверяет больше, чем мне.

Сначала выбор пал на remoteStorage.js. Они предлагают открытый протокол обмена данными, достаточно приятное API, возможность интеграции с Google Drive и Dropbox, а также свои сервера. Но этот путь оказался тупиковым (почему — отдельная история).

В итоге решил использовать Google Drive напрямую, и Google API Client Library (далее GAPI) как библиотеку для доступа к нему.

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

Надеюсь, данная статья сэкономит вам время, если вы решите использовать Google Drive в вашем приложении.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии19

Точечная маршрутизация на роутере с OpenWrt. WireGuard и DNSCrypt

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров125K
Данный материал не является призывом к действию и публикуется исключительно в образовательных целях.

UPD 14.10.2023
Эта статья немного устарела. Здесь можно узнать, как использовать готовые списки IP-адресов, что не совсем актуально. Актуальная статья с маршрутизацией по доменам: https://habr.com/ru/articles/767464/


UPD 16.10.2022


  • Исправлены конфиги для Openwrt 22
  • Добавлен community список
  • В скрипт добавлена проверка загрузки файлов. Которая решает проблему, если при старте устройства не удалось сразу загрузить списки
  • DNSCrypt изменён на DNSCrypt v2

UPD 15.03.2023


  • Добавлена логика для работы с доменами, используются список доменов из community
  • Изменена проверка загрузки файлов в скрипте
  • В Ansible playbook теперь можно выбрать определённые списки

UPD 20.04.2023
Если у вас роутер получает IPv6 адрес, то роутинг будет работать криво. Пока нет инструкции для IPv6, поэтому нужно будет его выключить на роутере.


Часть 2: Поиск и исправление ошибок


Чем отличается от подобных материалов?


  • Реализация на чистом OpenWrt
  • Использование WireGuard
  • Конфигурация роутера организуется с помощью конфигов OpenWrt, а не кучей в одном скрипте
  • Предусмотрены ситуации при рестарте сети и перезагрузке
  • Потребляет мало ресурсов роутера: подсети содержатся в ipset, а не в таблицах маршрутизации. Что позволяет развернуть это дело даже на слабых устройствах
  • Автоматизация конфигурации с помощью Ansible (не требуется python на роутере)
Читать дальше →
Всего голосов 62: ↑61 и ↓1+60
Комментарии106

Разработка UI с помощью Flutter

Время на прочтение5 мин
Количество просмотров26K
Привет, Хабр! Представляем вашему вниманию перевод статьи "Building Layouts".

Сегодня мы узнаем:


  • Как работают механики построения UI на Flutter
  • Как верстать экраны горизонтально и вертикально
  • Как сверстать экран, используя Flutter

Результатом сегодняшнего урока будет следующий сверстанный экран

image

Читать дальше →
Всего голосов 19: ↑15 и ↓4+11
Комментарии17

Data Science проект от исследования до внедрения на примере Говорящей шляпы

Время на прочтение25 мин
Количество просмотров30K


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

Читать дальше →
Всего голосов 67: ↑66 и ↓1+65
Комментарии2

Самые востребованные навыки в сфере data science

Время на прочтение8 мин
Количество просмотров14K
В плане знаний от специалистов по data science ждут многого: машинное обучение, программирование, статистика, математика, визуализация данных, коммуникация и глубокое обучение. Каждая из этих областей охватывает десятки языков, фреймворков, технологий, доступных для изучения. Так как же специалистам по работе с данными лучше распорядиться своим бюджетом времени на обучение, чтобы быть в цене у работодателей?

Я тщательно изучил сайты с вакансиями, чтобы выяснить, какие же навыки сейчас пользуются наибольшей популярностью у работодателей. Я рассматривал как более широкие дисциплины, связанные с работой с данными, так и конкретные языки и инструменты, в рамках отдельного исследования. За материалами я обратился к сайтам LinkedIn, Indeed, SimplyHired, Monster и AngelList, по состоянию на 10 октября 2018 года. На графике ниже показано, сколько вакансий по data science представлено на каждом из этих ресурсов.


Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии1

Как стать датасайнтистом, если тебе за 40 и ты не программист

Время на прочтение8 мин
Количество просмотров148K
Бытует мнение, что стать датасайентистом можно только имея соответствующее высшее образование, а лучше ученую степень.

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

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



Сейчас я ведущий аналитик в группе больших данных в QIWI, но еще три года назад я был довольно далек от датасайнс и об искусственном интеллекте слышал только из новостей. Но потом все изменилось, во многом благодаря Coursera и Kaggle.

Итак, обо всем по порядку.
Читать дальше →
Всего голосов 124: ↑118 и ↓6+112
Комментарии98

Учись учиться: непрерывное образование – ключ к конкурентоспособности в эпоху цифровой экономики

Время на прочтение3 мин
Количество просмотров24K

Университеты, стремясь сохранить свою конкурентоспособность, постоянно задаются вопросом: «Как нам лучше всего подготовить студентов к реальному миру?» Вчера, в условиях индустриальной экономики, эффективным ответом на этот вопрос был перечень пользующихся спросом профессиональных навыков, которые университеты выявляли и прививали своим студентам. Однако сегодня, в условиях оцифровавшейся экономики, такого обучения, ориентированного на навыки, уже недостаточно. Поэтому лучшее, что университеты могут дать своим студентам сегодня – научить их учиться; заинтересовать их непрерывным процессом образования и самообразования.


Читать дальше →
Всего голосов 24: ↑16 и ↓8+8
Комментарии24

Сложности самообучения программированию и как их преодолеть

Время на прочтение5 мин
Количество просмотров38K
Перед вами перевод статьи Xiang Zhou, опубликованной на сайте freeCodeCamp. Если вы разработчик-самоучка и хотите преодолеть все преграды на пути к цели, добро пожаловать под кат!


«Белая книга на коричневом деревянном столе», фото Alexander Michl на Unsplash
Всего голосов 16: ↑12 и ↓4+8
Комментарии13

Портирование JS на Эльбрус

Время на прочтение11 мин
Количество просмотров33K
Это рассказ про портирование JavaScript на отечественную платформу Эльбрус, выполненное ребятами из компании UniPro. В статье — краткий сравнительный анализ платформ, детали процесса и подводные камни.



В основе статьи — доклад Дмитрия (dbezheckov) Бежецкова и Владимира (volodyabo) Ануфриенко с HolyJS 2018 Piter. Под катом вы найдете видео и текстовую расшифровку доклада.
Всего голосов 128: ↑125 и ↓3+122
Комментарии225

Подкасты о Python: вот все, что мы нашли

Время на прочтение4 мин
Количество просмотров27K
image

Запрос “Алиса, что послушать о Python”, заданный Гуглу, скорее всего приведет вас в ступор, на статьи многолетней давности, которые не очень актуальны, либо на давно закрытые темы, которые просто нельзя (или некому) обновить.

Так и родилась идея сделать список тематических аудио-видео-кастов и постараться поддерживать его в актуальном виде. Хотя бы год. Если вы читаете это в 2020-м, тоже стучитесь в личку или пишите о своем подкасте в комментарии — добавим.

13 подкастов и немного Испании
Всего голосов 40: ↑40 и ↓0+40
Комментарии17
1
23 ...

Информация

В рейтинге
4 333-й
Откуда
Medkovetz, Montana, Болгария
Зарегистрирован
Активность

Специализация

Accountant, Lawyer
Middle