Как стать автором
Обновить
0
0
Эрик @AMEST

Инженер-Программист

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

Профилирование и трейсинг с perf

Время на прочтение1 мин
Количество просмотров25K
Учимся дебажить с perf — целых 18 страниц про основные подкоманды, фичи и устройство инструмента. Джулия рекомендует; “Я даже использовала его несколько раз для профилирования Ruby программ!”

Уровень сложности — для суперпродвинутого администратора.

Когда нужно отыскать причину сбоя, не имея доступа к исходным кодам. Все логи уже просмотрены, все debug и verbose-ключи включены, а причина проблем так и не обнаружена — используйте perf. Потребуется навык кодинга на языках типа Си.


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

GPT для чайников: от токенизации до файнтюнинга

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

К моему удивлению, в открытом доступе оказалось не так уж много подробных и понятных объяснений того как работает модель GPT от OpenAI. Поэтому я решил всё взять в свои руки и написать этот туториал.

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

Пишем GPT в 60 строк NumPy (часть 1 из 2)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров71K

В этом посте мы начнём реализацию с нуля GPT всего в 60 строках numpy. Во второй части статьи мы загрузим в нашу реализацию опубликованные OpenAI веса обученной модели GPT-2 и сгенерируем текст.
Читать дальше →
Всего голосов 96: ↑94 и ↓2+92
Комментарии33

SQLite — не игрушка

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

Рассказываю, почему SQLite отлично подойдет вам в повседневной работе. И неважно, разработчик вы, аналитик, тестировщик, админ или продакт-менеджер.

Читать далее
Всего голосов 239: ↑237 и ↓2+235
Комментарии89

Отказоустойчивый IP-адрес с помощью ucarp

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

Задача


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

В статье для этой цели будут использованы Debian Linux, протокол CARP и утилита ucarp.
Читать дальше →
Всего голосов 30: ↑29 и ↓1+28
Комментарии25

У Google появился новый креативный способ убивать SaaS-стартапы

Время на прочтение7 мин
Количество просмотров99K
В старые времена, когда компания Google (или любой из её плохо настроенных ИИ) хотела убить ваш бизнес, то обычно отказывала вам в доступе к какому-то из своих сервисов, и это работало. Вы наверняка слышали страшилки:



Клянусь, я прочитал FAQ!
Читать дальше →
Всего голосов 243: ↑243 и ↓0+243
Комментарии181

Стив пишет заклинания на Python. Обучение детей программированию в Minecraft

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

Хочу поделиться наработками домашнего обучения детей программированию. Даже не столько обучению, сколько привлечения детского внимания и интереса. Ведь согласно Сократу, человек - не сосуд для наполнения, а факел, который нужно зажечь. Изначально были попытки начать со Scratch, но несмотря на понятный графический интерфейс, желание продолжать и что-то делать в среде быстро угасло. Minecraft пошел намного лучше, потому что дети уже были хорошо знакомы с игрой по мобильной версии и любимому creative mode.

Я не имею в виду создание и использование модов, это слишком высокий уровень входа. Первые попытки были после знакомства с первым изданием книги "Minecraft. Программируй свой мир" и удачной настройки сервера Bukkit на домашней машине. На данный момент (начало 2021 г.) есть второе издание, а также несколько похожих книг других авторов.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии16

Запускаем свой RTMP сервер для стриминга

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


Иногда YouTube или Twitch не подходят как стриминговая платформа — скажем, если вы пилите портал с вебинарами или контентом 18+, нарушаете авторские права или хотите максимально отгородить свою трансляцию от остального интернета. У них есть много альтернатив как в виде сервисов (те же минусы, недостаток контроля и непредсказуемая политика), так и в виде self-hosted решений. Проблема опенсорсных стриминговых проектов в том, что все они начинаются с крохотной связки из пары технологий, а затем отчаянно пытаются вырасти в сервис, добавляя сложные веб-интерфейсы, чаты, библиотеки стримов и в конечном счёте отдаляясь от исходной цели: дать миру инструмент, который по понятному мануалу позволит запустить свой сервер трансляций. Что с ним будет дальше, в какие системы будет встроена эта картинка — это только ваше личное дело, а самописный аналог твича с лагающими и отваливающимися сервисами и периодически валящимся билдом не нужен никому, кроме его разработчиков. Поэтому в этой статье мы разберём минимальную цепочку действий для запуска своего RTMP-сервера с плеером.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии14

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

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

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

Осторожно , ненормативная лексика
Всего голосов 11: ↑9 и ↓2+7
Комментарии11

Марс и магнитосфера. Планета, которую можно отремонтировать

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

Тема терраформирования Марса не один десяток лет относится к числу наиболее амбициозных планов человечества. Кажется, что марсианскую природу достаточно лишь немного «подправить», чтобы холодная планета бурь превратилась в жизнепригодный мир, расположенный в непосредственной близости от Земли.

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

Обзор. Другая сторона солнечного ветра

Подходы к терраформированию Марса (приближению условий окружающей среды на нем к земным) постепенно детализируются и представляются все менее разрушительными и более «зелеными». В частности, Илон Маск, еще в 2015 году продвигавший идею о термоядерной бомбардировке Марса с целью вызвать на нем парниковый эффект, в 2019 году предлагал растопить марсианские льды при помощи системы орбитальных зеркал. Развивая эту идею, Роберт Зубрин и Кристофер Маккей рассуждали о 100-километровом цельном орбитальном зеркале. Тем не менее, сегодня считается, что даже всего льда с марсианских полярных шапок может не хватить для вызова парникового эффекта. Пытаясь поднять температуру на Марсе такими грубыми способами, мы бы боролись со следствиями, а не с причиной экологической катастрофы на этой планете. Причина продолжающегося истончения марсианской атмосферы заключается в выдувании ее солнечным ветром, а  отсутствии у Марса постоянного магнитного поля. В далеком прошлом, 4,2-4,3 миллиарда лет назад Марс должен был обладать сильным магнитным полем, а последний период активного действия магнитосферы на Марсе относится, вероятно, к 3,7 миллиарда лет назад.

Читать далее
Всего голосов 69: ↑68 и ↓1+67
Комментарии179

Я стал думать над мелочами в коде, и уничтожил все желание программмировать

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


На моей последней проектной работе мне предложили создать решение на .net/c# с нуля. Заложить архитектуру, стандартные либы, практики, и т.д. Приложение планировалось большое, я получил море бюджета на исследование и продумывание всего.

В процессе я принял много решений. Так много, что сильно удивился — сколько же практик и подходов у меня сложилось за довольно короткую карьеру. Откуда я их взял? Как я к ним пришёл, и с хрена ли я в них верю?

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

У меня в башке есть такой абстрактный «правильный разработчик», который всё делает единственно верным образом. Обычно моя задача быть немного на него похожим. Когда я пишу какой-то код, спрашиваю: «А как бы поступил правильный разраб? Что бы он выбрал и почему?». Да, его не существует, и он на самом деле никак бы не поступил, и эта мысленная сущность не помогает мне решать проблемы. Она нужна для двух вещей: заставляет задавать себе кучу вопросов и чувствовать себя куском говна каждый раз, когда хоть что-то сделал.

С годами работы и я, и мой правильный разраб стали одинаковыми, и мы почти не задаём себе вопросов. Но говном-то я себя, конечно же, считаю, видимо, по привычке.
Читать дальше →
Всего голосов 96: ↑54 и ↓42+12
Комментарии129

Подтверждение входа с помощью Telegram на Spring Boot

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

Недавно столкнулся с проблемой: все приложения используют Telegram-бота в качестве подтверждения входа в аккаунт, а мое — нет. Я был настроен серьезно и провёл уйму времени в интернете в поиске туториала, но меня ждало разочарование. Задача сложная и имеет много подводных камней, а туториалов — ноль.


Следующую неделю я потратил на написание своей имплементации данной фичи и готов поделиться успехом.


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


Всего голосов 8: ↑8 и ↓0+8
Комментарии6

Heroku + Docker + Spring Boot

Время на прочтение5 мин
Количество просмотров20K
Далее речь пойдет о моем опыте запуска докеризованного Spring Boot приложения на бесплатных виртуальных машинах облачного сервиса Heroku. Одно из главных преимуществ этого провайдера в том, что он дает возможность создавать бесплатные виртуалки с ограничением по часам работы, причем для этого достаточно только регистрации. Даже платежные реквизиты подтверждать не требуется, хотя если их подтвердить можно получить дополнительные бонусы. Подробнее про их прайс можно прочитать здесь. С моей точки зрения их политика по части бесплатных ресурсов почти не имеет аналогов.

И так, после того, как вы создали на Heroku приложение есть несколько способов развернуть в нем ваш код
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии7

9 секретов ASP.NET Core

Время на прочтение5 мин
Количество просмотров38K
Совсем недавно мы обновили ASP.NET Core до версии 2.1. Один из создателей платформы, наш коллега Дэвид Фоулер поделился некоторыми её полезными особенностями, о которых мало кто знает. Кроме того, помимо 9 секретных фич ASP.NET Core, под катом вы найдете и список основных нововведений со всеми полезными ссылками. Присоединяйтесь!

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

Дозвониться в глубокий космос: как НАСА ускоряет межпланетную связь

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

«Уже практически некуда улучшать технологию, работающую на радиочастотах. Простые решения заканчиваются»




26 ноября 2018 года в 22:53 мск у НАСА это снова получилось – зонд InSight совершил успешную посадку на поверхность Марса после входа в атмосферу, спуска и посадочных манёвров, которые позже окрестили «шестью с половиной минутами ужаса». Подходящее описание, ведь инженеры НАСА не могли узнать сразу, успешно ли космический зонд сел на поверхность планеты, из-за временной задержки коммуникаций между Землёй и Марсом, составившей примерно 8,1 мин. Во время этого окна InSight не мог полагаться на свои более современные и мощные антенны – всё зависело от старомодной УВЧ-связи (этот метод давно используется везде, от телевещания и раций до устройств Bluetooth).
Всего голосов 41: ↑39 и ↓2+37
Комментарии23

Модульные боты-муравьи с памятью

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

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

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

Я уже реализовал базовую систему конвейера задач на Javascript (потому что это упростило мою жизнь), но мне хотелось чего-то более надёжного и масштабируемого, поэтому этот проект я написал на C++. На это меня сподвиг конкурс по реализации процедурного сада в сабреддите /r/proceduralgeneration (отсюда и соответствующая тема).

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

Для увеличения сложности я хотел, чтобы акторы сохраняли информацию о предыдущем опыте взаимодействия с миром и использовали знания об этих взаимодействиях в будущих действиях.
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии11

Следим за качественными цифровыми релизами фильмов без суеты

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


В большинстве случаев качественные нелегальные раздачи какого-то фильма начинают появляться только после цифрового релиза (не путайте цифровые релизы с премьерами в кинотеатрах), т.е. в VOD-сервисах или на Blu-ray. Под качественными подразумеваются BDRip 1080p, BDRemux и UHD BDRemux, самый минимум — это WEB-DL 1080p (чаще всего из iTunes), с русскоязычными звуковыми дорожками от лицензионного издания Blu-ray или из iTunes. А до этого с раздачами фильма творится чехарда с комбинацией мха и опилок, которая может ввести в заблуждение зрителя, желающего смотреть новинки с хорошим качеством.
Читать дальше →
Всего голосов 89: ↑82 и ↓7+75
Комментарии161

Используем старые HDD с бэдами

Время на прочтение2 мин
Количество просмотров84K
Ещё со студенческих времен у меня стояла куча жестких дисков. Время от времени я их апгрейдил — старые продавал, а вместо них ставил более емкие. Тогда спрос на объем был довольно большой, все приходилось хранить у себя на винтах. Но пришло время интернета, и локалки отпали сами собой. Какое-то время диски использовались как файлопомойка для торрентов. Но надобность в апгрейде из-за нехватки объема постепенно отпала. В итоге я оказался с кучей довольно старых винчестеров, которые начали постепенно умирать. Они еще не трупы, но уже накрылись бэд блоками и поползли в сторону могилы. Естественно, при первых признаках бэдов всё более-менее ценное переносилось на новый винт, а старый…
Читать дальше →
Всего голосов 69: ↑59 и ↓10+49
Комментарии162

20 игр, чтобы научить ребёнка программированию

Время на прочтение5 мин
Количество просмотров301K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.
Всего голосов 59: ↑53 и ↓6+47
Комментарии91

Tails OS или как защитить себя в сети

Время на прочтение5 мин
Количество просмотров125K
Рано или поздно, но большинство фантастических сюжетов воплощаются в реальную жизнь. В мире информационной безопасности это произошло как только Эдвард Сноуден опубликовал информацию о PRISM — средстве слежения за пользователями сети, разработанного АНБ. В этой статье я опишу самый действенный способ защитить свои данные от любопытных глаз.

· Tails


Первым делом, следует познакомиться с главным героем этой статьи. Без этой ОС можно было бы и не пытаться открыть для себя дверь в мир анонимности. Хвосты используют более 20 000 раз в день, журналисты и правозащитники используют Tails, чтобы осудить правонарушения правительств и корпораций.


TheAmnesicIncognitoLiveSystem — это операционная система, которую вы можете запускать практически на любом компьютере с USB-накопителя или DVD-диска.
Эта OS направлена на сохранение вашей конфиденциальности и анонимности поможет вам использовать интернет анонимно и обходить цензуру — все подключения вынуждены проходить через сеть TOR, а также не оставлять следов на компьютере, который вы используете и использовать новейшие криптографические инструменты для шифрования ваших файлов, электронной почты, обмена мгновенными сообщениями и скрытия всех файлов и каталогов на электронном носителе.

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

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

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

Backend Developer, Frontend Developer
Senior
C#
Docker
Git
Linux
Java
MongoDB
Redis
Python
DevOps
Monitoring