Pull to refresh
81
Karma
0
Rating
  • Followers 14
  • Following 2
  • Posts
  • Comments

Парадокс, положивший начало научным вычислениям

RUVDS.com corporate blog Reading room Popular science Physics
Translation


В 1953 году научные сотрудники Лос-Аламосской национальной лаборатории подбирали задачу для одного из первых электронных компьютеров. Выбор пал на простейшую одномерную систему — цепочку грузиков соединённых пружинами с нелинейной упругостью. Результаты моделирования вполне соответствовали ожиданиям: после возбуждения основного колебательного режима систему предоставляли самой себе, после чего энергия равномерно распределялась по остальным колебательным модам, и движения цепочки обретали характер белого шума.

Но однажды, из-за затянувшегося обеденного перерыва, машину оставили работать дольше обычного. Спохватившись, учёные вернулись в компьютерный зал и заметили, что расчётная система, пробыв некоторое время в состоянии теплового равновесия, вышла из него, а энергия в процессе эволюции периодично кочевала между наиболее длиноволновыми модами, практически не передаваясь на коротковолновые колебания. И в конце концов, система возвращалась из хаоса в исходное состояние! Этот парадокс ознаменовал собой рождение компьютерного моделирования, теории детерминированного хаоса и солитоники.
Читать дальше →
Total votes 90: ↑90 and ↓0 +90
Views 33K
Comments 46

Самопаркующаяся тачка в 500 строк кода

JavaScript *Programming *Algorithms *Machine learning *Artificial Intelligence
Translation
Tutorial

В этой статье мы "научим" автомобиль выполнять самостоятельную парковку с помощью генетического алгоритма.

В 1-м поколении автомобили будут иметь случайный геном и будут вести себя хаотично.

К ≈40-му поколению автомобили понемногу начнут учиться парковке и будут все ближе и ближе подбираться к парковочному месту

Чтобы увидеть эволюционный процесс прямо в браузере вы можете запустить 🚕 симулятор эволюции, .

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

Читать далее
Total votes 38: ↑37 and ↓1 +36
Views 9.8K
Comments 8

Грейды: как оценивать уровень разработчиков?

Timeweb corporate blog IT Standards *IT Terminology IT career Interview


В новом выпуске подкаста «Релиз в пятницу» Миша Шпаков, Кира Айрапетова, Олег Филимошин обсудили грейды: когда, кому, зачем они нужны и как эффективно их использовать.

Если коротко, вот что я выделила для себя:

  • Грейд — структура, позволяющая привязать зарплаты в компании к навыкам и задачам сотрудников.
  • Грейды нужны не всем компаниям.
  • Грейды не только про hard-skills.
  • Грейды обоюдно удобны, если позволяют тем, кто больше вкладывает в развитие компании, получать больше.
  • Грейды могут быть вертикальные и горизонтальные.
  • Круто, когда человека сам решает, куда он хочет развиваться, и компания идет ему навстречу.

Под катом подробнее — текстом для тех, кому удобнее почитать, и ссылочка на видео для тех, кто предпочитает слушать.
Читать дальше →
Total votes 6: ↑4 and ↓2 +2
Views 5.1K
Comments 13

Ventoy. Мультизагрузочная флешка

Software
Tutorial

Мультизагрузочная флешка, сколько раз она меня выручала, с нее я чистил компы от вирусов, ставил Оси и т.д. В общем объяснять для чего она на хабре не нужно. Я знаю две самых известных утилиты для создания МФ - Easy2Boot и Win Setup From USB. Чем отличается Ventoy от них? Сейчас посмотрим.

Читать далее
Total votes 23: ↑22 and ↓1 +21
Views 20K
Comments 55

Переносим философию Unix в 21 век

RUVDS.com corporate blog Configuring Linux *System administration **nix *Server Administration *
Translation

Один из основных принципов философии Unix заключается в создании таких программ, каждая из которых эффективно выполняет всего одну задачу, и связывании этих программ в конвейер. Подобный подход отлично зарекомендовал себя за десятилетия существования системы.

В статье же речь пойдет о том, чего ощутимо не хватает современным системам Linux с точки зрения этой философии, а также будет предложено решение связанных с этим проблем.
Читать дальше →
Total votes 129: ↑127 and ↓2 +125
Views 20K
Comments 87

Гибридный формат — ни рыба ни мясо в удаленке

Maxilect corporate blog Personnel Management *IT career Business Models Remote work

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

Под катом разберем, что же может пойти не так...

Читать далее
Total votes 19: ↑12 and ↓7 +5
Views 5.9K
Comments 66

Список ноотропов, покупка которых не окажется пустой тратой денег

Brain

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

Читать далее
Total votes 121: ↑85 and ↓36 +49
Views 145K
Comments 234
Кто играл в Need for Speed, угадает эту мелодию с четырёх нот: э-рон-дон-дон… Драйв, эмоции на максимум, бесконечные повторы неудачных заездов и кайф после утомительного прохождения — вот с чем до сих ассоциируется у меня эта серия игр. И это те же самые слова, которые я произношу, когда меня спрашивают о работе тестировщика. Вопрос «Как вкатиться в айти?» я слышу чаще, чем «Как прожить в ІТ долгую и счастливую рабочую жизнь?». Мне удаётся сохранить вдохновение и успешно строить карьеру в quality assurance — и потому я хочу поделиться опытом, подкрепив его ссылками на актуальные тексты авторов Хабра. Итак, сегодня я — [капитан очевидность] штурман в нашей команде :) Давайте знакомиться: меня зовут Василиса (@vasenka), я работаю QС в одной из продуктовых компаний. Под катом — мой тест-драйв карьерного трека QA, а в качестве навигатора — статьи авторов Хабра.
Погнали!
Total votes 27: ↑24 and ↓3 +21
Views 24K
Comments 9

5 самых старых нерешенных задач Математики о простых числах

ITSOFT corporate blog Mathematics *Popular science
Translation

Математика была предметом, который веками бросал вызов величайшим умам в истории человечества. Пожалуй, одной из наиболее исследуемых областей Математики является изучение простых чисел.

Наши размышления о закономерностях в простых числах привели к некоторым сложнейшим проблемам, нерешенным даже величайшими математическими гениями. Сегодня мы рассмотрим 5 старейших математических задач о простых числах, которые интуитивно понятны старшекласснику, но все еще не доказаны даже после упорных попыток в течение 500-2000 лет.

Читать далее
Total votes 30: ↑29 and ↓1 +28
Views 12K
Comments 18

Прогнозирование временных рядов с помощью AutoML

Open source *Python *Algorithms *Machine learning *Artificial Intelligence


Хабр, привет!


В лаборатории моделирования природных систем Национального центра когнитивных разработок Университета ИТМО мы активно исследуем вопросы применения автоматического машинного обучения для различных задач. В этой статье мы хотим рассказать о применении AutoML для эффективного прогнозирования временных рядов, а также о том, как это реализовано в рамках open-source фреймворка FEDOT. Это вторая статья из серии публикаций, посвященной данной разработке (с первой из них можно ознакомиться по ссылке).


Все подробности — под катом!

Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Views 6.4K
Comments 4

Как использовать GraphQL Federation для инкрементальной миграции с монолита (Python) на микросервисы (Go)  

Маклауд corporate blog Python *Programming *Google App Engine *
Translation
Или как поменять фундамент старого дома, чтобы он не обвалился



Лет 10 назад мы выбрали 2-ю версию Python для разработки нашей обучающей платформы с монолитной архитектурой. Но с тех пор индустрия существенно изменилась. Python 2 был официально похоронен 1 января 2020 года. В предыдущей статье мы объясняли, почему решили отказаться от миграции на Python 3. 

Каждый месяц нашей платформой пользуются миллионы людей. 

Мы пошли на определённый риск, когда решили переписать наш бэкенд на Go и изменить архитектуру. 

Язык Go мы выбрали по нескольким причинам:

  1.  Высокая скорость компиляции.
  2. Экономия оперативной памяти.
  3. Достаточно широкий выбор IDE с поддержкой Go.

Но мы применили подход, который позволил минимизировать риск.
Читать дальше →
Total votes 23: ↑21 and ↓2 +19
Views 4.6K
Comments 6

Особенности практического использования различных алгоритмов Многорукого бандита

FUNCORP corporate blog Abnormal programming *Entertaining tasks Programming *Algorithms *

Большинство статей про алгоритмы, используемые для решения задачи многорукого бандита, очень академичны. Они пестрят формулами, графиками и статистическими таблицами. При этом как будто подразумевается, что у нас есть неизменяемый набор ручек для дёргания и n→∞ попыток. В этой статье я постараюсь рассказать об этих алгоритмах с колокольни обычного разработчика применительно к реальным условиям, в которых работает наш продукт (но графики будут — с ними красивее).

Дисклеймер: эта статья написана обычным разработчиком, не дата-саентистом или аналитиком. Не стоит рассматривать её в качестве серьёзного научного труда и искать неточности, неполноту и крайности. Она не про это.

Так как это статья про конкретное практическое применение, то и термины буду использовать из нашего домена:

• просмотр(n) = попытка;
• смайл(s) = победа;
• смайлрейт(w, от worth) = количество смайлов/количество просмотров;
• контент = то, у чего есть эти самые просмотры и смайлы.

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

Читать далее
Total votes 48: ↑48 and ↓0 +48
Views 5.1K
Comments 2

Как найти удаленную работу в зарубежной компании. 10 шагов

gms & g-mate corporate blog IT career Lifehacks for geeks Remote work


Каждый год Оксфордский словарь английского языка выбирает «Слово года». Но в 2020-м что-то пошло не так. Издательство Оксфордского университета описало 2020-й как «год, который лишил нас дара речи», и сказало, что к нему невозможно подобрать правильное слово.


Но на наш взгляд, такое слово всё-таки есть. С прошлого марта в мире резко возросло использование слова «удаленно». Большинство предприятий отошли от традиционной модели офисной работы и стали пытаться организовать труд сотрудников из дома. Для разработчиков из СНГ это прекрасная возможность начать работу в лучших мировых компаниях. Зарплаты за рубежом выше, а возможностей сейчас стало больше, чем когда-либо прежде.


Мы постоянно исследуем рынок. Публикуем сотни вакансий ежедневно. И сейчас 40% выручки получаем от иностранных компаний, которые в основном нанимают программистов для удаленной работы.


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

Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Views 29K
Comments 16

Тихая революция и новый дикий запад в ComputerVision

Recognitor corporate blog System Analysis and Design *Algorithms *Image processing *Machine learning *

Казалось бы, революция с Computer Vision уже была. В 2012 году выстрелили алгоритмы основанные на сверточных нейронных сетях. Года с 2014 они дошли до продакшна, а года с 2016 заполонили все. Но, в конце 2020 года прошел новый виток. На этот раз не за 4 года, а за один. поговорим о Трансформерах в ComputerVision. В статье будет обзор новинок, которые появились в последний год.

Читать далее
Total votes 103: ↑103 and ↓0 +103
Views 22K
Comments 22

Как построить свою систему поиска похожих изображений

Search engines *Image processing *Artificial Intelligence

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

В этой статье я собрал все необходимые компоненты поисковой системы на изображениях в одном месте, разбавив контент современными подходами.

Читать далее
Total votes 51: ↑50 and ↓1 +49
Views 14K
Comments 33

Введение в непрерывную поставку (CD) при помощи GitLab

JavaScript *Git *Development Management *Product Management *DevOps *
Translation
Tutorial

Введение в непрерывную поставку (CD) при помощи GitLab


Введение в непрерывную поставку (CD) при помощи GitLab


Данный туториал позволит вам быстро прочувствовать как происходит командная работа с использованием GitLab. В целом, начать практиковать DevOps/CD с GitLab проще чем с использованием других продуктов потому что GitLab — это решение "всё в одном".


В процессе этого туториала мы


  • настроим базовое управления проектом на GitLab.com;
  • создадим конвейер непрерывной поставки
  • проведём несколько циклов работы с GitLab Flow
  • изучим метрики CI/CD в GitLab

Желательны но необязательны базовые знания


  • Git;
  • Node.js;
  • React;
  • Docker;
Читать дальше →
Total votes 7: ↑7 and ↓0 +7
Views 11K
Comments 0

Мои доходы от работы очень хорошим инженером Facebook

VDSina.ru corporate blog Personnel Management *IT career Finance in IT
Translation
Когда я десяток лет назад переехал в США для работы в Facebook, то понятия не имел, хорошим или плохим был оффер. Я даже не торговался и согласился на ту сумму, которую мне предложили. Отчасти это вызвано тем, что я был в восторге от приглашения, отчасти тем, что я совершенно не знал, чего мне ждать. К своей чести, Facebook предложил мне на 7–8% больше, чем изначально (думаю, так получилось, потому что они ожидали, что я буду обсуждать условия, чего я не делал).

К счастью, в последние несколько лет благодаря сайтам наподобие glassdoor и levels.fyi стало очень легко узнавать средние зарплаты и их диапазон. Не хватает только одного — информации о том, сколько можно зарабатывать, если ты по-настоящему хорош, допустим, входишь в 1% лучших инженеров FB (то есть на уровне примерно 100 инженеров). В этом посте я поделюсь своими зарплатами и карьерным ростом, чтобы дать представление о том, насколько быстро можно развиваться и как при этом будет меняться зарплата.

Примечание: представленные ниже значения не учитывают роста акций, то есть если при передаче мне акций их курс был равен 50 долларам, а теперь они торгуются по 200 долларов, то для вычисления сумм я всё равно использую 50 долларов, потому что именно столько FB на самом деле мне платит, а повышение стоимости стало вознаграждением за взятые мной на себя риски.

Ниже я расскажу о своём карьерном росте и зарплате, которую я получал, но если вам интересны только цифры, то вот таблица:


Вот краткая версия того, как я добрался до уровня E8, и мои зарплаты за эти годы. В конце статьи есть краткое описание.
Читать дальше →
Total votes 93: ↑77 and ↓16 +61
Views 90K
Comments 330

Создание процедурной анимации смерти при помощи автоматов падающего песка

Python *Game development *
Translation
В этом посте я покажу, как использовал автоматы падающего песка для генерации анимаций смерти монстров в моей игре Vagabond.



Автоматы падающего песка


Автомат падающего песка — это клеточный автомат, симулирующий перемещение песчинок и создание куч песка под действием гравитации.

Правила просты:

  • Если ячейка под песчинкой пуста, то песчинка движется в пустую ячейку (см. (a)).
  • Если ячейка под песчинкой заполнена, но свободна ячейка внизу слева или внизу справа, то песчинка движется туда (см. (b)). Если свободны обе, то одна из них выбирается случайным образом.
  • В остальных случаях песчинка не движется.
Читать дальше →
Total votes 65: ↑65 and ↓0 +65
Views 8.6K
Comments 9

Опыт разработки системы управления для железнодорожной техники на отечественных микроконтроллерах

System Analysis and Design *Programming microcontrollers *Project management *Manufacture and development of electronics *Transport
Sandbox

В статье я расскажу историю одной разработки, выполненной небольшим коллективом

Читать далее
Total votes 58: ↑58 and ↓0 +58
Views 12K
Comments 40

Трехмерный движок в коде… ДНК

Abnormal programming *Working with 3D-graphics *Popular science Biotechnologies
Tutorial
UPD 29 ноября: Репозиторий с кодом ДНК выложен на GitHub.
github.com/pallada-92/dna-3d-engine

UPD 30 ноября:
В англоязычном твиттере заметили проект
Новость попала в топ-10 на HackerNews!






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

Ответ довольно неожиданный — lingua franca для моделирования сложных процессов в клетках является реакции вида
Эти реакции моделируются при помощи закона действующих масс, который одинаково работает и в химии, и в молекулярной биологии.

— Неужели при помощи этих примитивных реакций можно что-то программировать?
— Да, а то, что написано выше, вычисляет $B = \sqrt{A}$.

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

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

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

Для понимания статьи никаких предварительных знаний не требуется, необходимые сведения из школьной программы по биологии мы повторим в начале статьи. Также мы разберем типичные паттерны, которые использует эволюция для достижения сложного поведения в живых клетках.
Total votes 94: ↑94 and ↓0 +94
Views 19K
Comments 30

Information

Rating
5,322-nd
Registered
Activity