Про страх

Последнюю неделю все мои мысли заняты тем, что происходит в Беларуси. Каждый день я вижу кадры, где белорусский ОМОН зверски избивает мирных граждан. Задержанные люди, которых отпустили, рассказывают о пытках и избиениях беззащитных людей. Эти видео иногда вызывали у меня чувство дурноты и дрожь. У посольства Республики Беларусь в Москве каждый вечер собираются и белорусы, и русские. Образовался народный мемориал из цветов и свечей, который теперь ежедневно зачищают коммунальщики и полиция. Я думал о том, чтобы прийти к посольству уже Читать дальше …

Шпаргалка по Linux для чайников

Заранее прошу прощения у опытных пользователей Linux, если допустил где-то ляпы… Что взять с чайника? 🙂 В тексте ниже в качестве приглашения (prompt) используется символ доллара. Package Management Разные дистрибутивы Linux включают в себя разные пакетные менеджеры. Например: — Debian — apt-get — RedHat — dnf или yum О том, что такое пакетные менеджеры, читайте статью Linux Package Management. Утилиты вроде apt-get и dnf — более высокоуровневые — они не заставляют пользователя указывать точную версию пакета и они сами устанавливают Читать дальше …

From Nand To Tetris — Как построить компьютер с нуля

В связи с карантином я открыл для себя платформу Coursera и в короткий срок прошел там уже несколько довольно объемистых курса. Один из них From Nand To Tetris (далее буду для краткости называть его N2T) осуществил одну из моих мечт — спроектировать компьютер с нуля (или хотя бы почувствовать как это) — об этом я задумывался, когда читал книжку Эндрю Таненбаума «Архитектура компьютера». Кстати, по моему, идеологически курс N2T близок книжке Таненбаума, но курс, в отличие от книжки — проектно-центрированный, Читать дальше …

Трудовая автобиография

Эта заметка предназначается, потенциальным работодателям — ссылку на нее я разместил в своих резюме. Но может, и широкому читателю будет интересно (т. е. если сюда забредет кто-то из моих студентов). Поехали. В 2010-м году я окончил (с отличием) кафедру Микроэлектроники Московского Инженерно-Физического Института. Будучи студентом-дипломником, я занимался исследованием радиационной стойкости транзисторов, усилителей и прочих аналоговых устройств. Проводил эксперименты, делал расчеты в системе компьютерной алгебры Wolfram Mathematica, писал статьи. Чтобы как-то автоматизировать лабораторные эксперименты, изучал программирование на C/C++ и написал тогда Читать дальше …

Краткий опыт использования ML.NET (Machine Learning Framework от Microsoft)

Пройдя недавно курс по машинному обучению, я отправился на поиски готовых библиотек — в первую очередь — для платформы .NET, так как я именно ее использую на своей работе. Запрос в гугл «Machine Learning + .NET» немедленно дал ссылку на фреймворк ML.NET, который сейчас имеет статус «preview». Здесь вкратце опишу, как я попробовал его использовать для классификации изображений. Создание модели ML.NET, насколько я успел понять, одной из своих целей имеет обеспечение очень высокого уровня абстракции для неискушенных в машинном обучении Читать дальше …

Machine Learning

Недавно я прошел 11-недельный курс Machine Learning на платформе Coursera. Курс великолепен. Чтобы помочь себе вспомнить материал через много лет, я решил написать краткий конспект, состоящий преимущественно из ключевых слов, поэтому текст ниже будет понятен, скорее всего, только тем, кто сам прошел этот курс. Supervised learning algorithms Постановка задачи. Есть входные переменные (x), от которых предположительно зависит выходная переменная (y). Есть набор данных, для которых известны конкретные значения (x) и (y). Цель — найти такую функцию, которая максимально точно будет Читать дальше …

C++ C# Python JavaScript PHP разговорник

Я давно программирую на C++ и C#. Python начал изучать недавно. С JavaScript у меня с давних пор было знакомство, но шапочное, поэтому стал изучать и его. И вот решил составить «разговорник» — удобная штука, чтобы легко было вспоминать материал. Эту необъятную заметку я буду пополнять по мере изучения языков. C++ C# Python 3 JavaScript PHP Расширение файлов .cpp, .h, .hpp .cs .py .js .php Исполняющая среда CPU + OS CLR (Common Language Runtime) Интерпретатор Python: CPython, IronPython, PyPy, Jython Читать дальше …

C++ и среды разработки

Предположим, мы хотим научиться программировать на C/C++. Для этого нам понадобятся следующие вещи: Написать простейший исходный код (программа HelloWorld) Скомпилировать исходный код в исполняемое приложение Запустить приложение (в том числе, в режиме отладки) В чем будем писать исходный код? Текстовый редактор. Сгодится любой текстовый редактор. Но желательно, с подсветкой синтаксиса. Я привык пользоваться Notepad++ (для справки: я — пользователь Windows). Другой редактор, которым я пользуюсь, но для программирования на платформе .NET, это — Visual Studio Code (или сокращенно — VSCode). Читать дальше …

Переход с Visual Studio на VS Code

Если вы используете Microsoft Visual Studio в коммерческих целях, то вам нужно покупать лицензию. Фирма, в которой я работаю, такую лицензию имеет. Однако, почему бы не избавиться от необходимости платить, и не перейти на бесплатные средства разработки? Вот и стали мы переходить… Оказалось, что не так это сложно, в конце концов интегрированная среда разработки (ее платная часть) — это лишь графическая оболочка, которая для своей работы пользуется различными бесплатными утилитами командной строки. Графическую Visual Studio часть можно компенсировать бесплатным редактором Читать дальше …

Тест по программированию на C++ от GeekBrains (средний уровень)

Недавно я завис на портале geekbrains.ru, раздумывая, не поступить ли мне на курс по C++ или по Unity. Решил для развлечения тесты порешать по моим любимым языкам C/C++/C#. Несколько базовых тестов успешно прошел, а дальше забуксовал. И решил проработать проблемные вопросы, а в качестве стимула написать заметку в блог. Итак, поехали. Я немножко переформатировал фрагменты кода, чтобы он лучше воспринимался глазами. Ответы и пояснения иногда привожу прямо в исходном коде тестов в виде комментариев. 1. Что будет выведено на экран Читать дальше …