Pull to refresh
1
0
Дмитрий Ажичаков @diseaz

User

Send message

Навигатор для трактора или эмиграция с цифрами

Reading time14 min
Views51K

Cover
https://www.deviantart.com/mrmarkchilcott/art/Warpig-662451056


Итак, ваш трактор отполирован до блеска, смазан, проведено ТО. Вы в костюмчике с иголочки стоите рядом, позвякиваете ключами и… не знаете толком куда же ехать. Внучатая племянница лучшей подруги двоюродной тети вашей мамы говорит, что лучше страны, чем Германия нет. Васек, товарищ детства, за бутылкой пива рассказал, что если куда и ехать, то в Эмираты. Там дорого-богато, а небоскребов сколько? Владимир Викторович, директор конторы, где вы в студенческие годы подрабатывали, считает, что где родился, там и пригодился, мол, страну поднимать надо. Направлений много, а жизнь одна. Давайте вместе вооружимся цифрами и попытаемся составить хотя бы отдаленно объективный список потенциальных мест дислокации на следующие N лет.

Читать дальше →

Пересказ грамматики Ложбана или что мне удалось усвоить

Reading time5 min
Views12K

Ложбан — искусственный человеческий язык, созданный на основе Логланга в 1987 году Группой логического языка (The Logical Language Group). Лицензионно-открыт и свободен. Основан на логике предикатов. Имеет описание в формате YACC и EBNF.


Алфавит


a, b, d, f, g, i, k, l, m, n, o, p, r, s, t, v, z — читаются как в английском
h, w, q — нет в алфавите
e — читается как русская Э
u — читается как русская У
c — читается как русская Ш. Но ci — произносится как «щи».
х — читается как русская Х (!)
j — читается как русская Ж
tc — читается как русская Ч
y — это шва и произноситься как безударная Ы. Например cy — произносится как «шы».
' — просто разделитель наподобие наших Ь, Ъ знаков (в транскрипции заменяется на h).
. — пауза в произношении.


Числительные


0 — no, 1 — pa, 2 — re, 3 — ci, 4 — vo, 5 — mu, 6 — ха, 7 — ze, 8 — bi, 9 — so
pi — десятичная точка


Например:
pa re ci pi vo mu — 123,45
pa no no — 100

Читать дальше →

Зоны в Dart: операция на открытом сердце для окружения

Reading time13 min
Views6K

Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. Клиентскую часть проекта мы пишем на Dart, однако работать с асинхронными операциями нам приходится не меньше, чем на других технологиях. Зоны — один из удобных инструментов, который Dart для этого предоставляет. Но в Dart-сообществе редко можно встретить о нем полезную информацию, поэтому я решил разобраться и рассказать об этом мощном инструменте подробнее.


Читать дальше →

Космические технологии в беспилотном транспорте: фильтр Калмана (из Архивов NASA)

Reading time4 min
Views3.8K
image

В 51-ю годовщину первой человеческой высадки на Луну, состоявшейся в июле 1969 года, давайте вспомним фундаментальную технологию, которая помогла сделать эту высадку возможной: фильтр Калмана. Названный в честь Рудольфа Калмана, американского электротехника, математика и изобретателя венгерского происхождения, фильтр представляет собой математическую методику, которую он предложил в 1960 году. Он особенно полезен при оценке положения объектов на основе наблюдений с помощью нескольких датчиков и широко применяется в системах наведения, навигации и управления транспортными средствами и самолетами.

Именно во время визита Калмана в Исследовательский центр Эймса NASA в Маунтин Вью, инженеры NASA увидели, что методы Калмана могут решить нелинейную задачу оценки траектории для программы «Аполлон». Однако запуск алгоритма фильтра Калмана на компьютере 1960-х годов был невозможен. Технический меморандум (из архивов НАСА, см. ниже) иллюстрирует исследовательскую работу в 1960-е и 1970-е годы, в ходе которой был внедрен «численно точный фильтр Калмана в вычислительной системе с ограниченным объемом памяти, пригодный для применения в реальном времени, например, для бортовой навигации самолетов или космических аппаратов».
Читать дальше →

Почему центр пикселя должен быть в (0,5; 0,5)

Reading time3 min
Views6.5K
Сегодня, когда всё популярнее становится трассировка лучей (ray tracing) выполняемая из «глаза» камеры, этот урок нужно усвоить заново: код становится лучше, а жизнь — проще, если центр пикселя находится в координате (0,5; 0.5). Если вы уверены, что делаете всё правильно, то продолжайте в том же духе, для вас в статье нет ничего нового. Прочитайте лучше вот это.

Смысл размещения центра пикселя в (0,5; 0,5) впервые объяснила (по крайней мере, мне) милая короткая статья Пола Хекберта «Что такое координаты пикселя?» из книги 1990 года Graphics Gems, стр. 246-248.

Сегодня эту статью найти трудновато, поэтому вкратце изложу её суть. Допустим, у нас есть экран с шириной и высотой 1000. Давайте рассмотрим только ось X. Может возникнуть искушение назначить 0,0 центром самого левого пикселя в строке, 1,0 — центром следующего, и так далее. Можно даже использовать округление, при котором координаты с плавающей запятой 73,6 и 74,4 переносятся в центр 74,0.

Однако над этим стоит поразмыслить. При таком сопоставлении левый край будет находиться в координате -0,5, а правый — в 999,5. С такой системой неудобно работать. Хуже того, если к значениям координат пикселей применяются различные операторы наподобие abs() или mod(), то такое сопоставление может привести к незначительным погрешностям на краях.

Проще работать с интервалом от 0,0 до 1000,0, в котором центр каждого пикселя имеет дробную часть 0,5. Например, тогда целочисленный пиксель 43 будет иметь красивый интервал значений значений входящих в него субпикселей от 43,0 до 43,99999. Вот чертёж из статьи Пола:

Читать дальше →

Койяанискаци: Процессорное устройство «акына»

Reading time11 min
Views4.5K

Структурная схема «Koyaanisqatsi-CPU»

Структура Койяанискаци
SVG-Файл (актуальная версия)

Лирика

Античные времена знакомы каждому не только бессмертными произведениями от пера Гомера, но и таблицей умножения Пифагора, геометрией Евклида и винтом Архимеда под знаком Пи, которыми человечество научилось пользоваться в полной мере лишь относительно недавно. Если в античности искусством было не только уметь писать стихи и прозу, но и проектировать катапульты или стенобитные орудия, то сейчас существуют жёсткие рамки и разделения, когда вывести очередную самодостаточную красивую и полезную формулу является искусством лишь как формальная игра слов. Математика правит современным миром безраздельно, цинично переплетаясь с миром искусства, нагло вторгаясь хитрейшими вычислениями во все сферы нашего досуга, отдыха и быта, диктуя свои правила и законы, под давлением которых выцветают и пёстрые краски знаменитых шедевров, переходя в ядовитые оттенки полнометражек.
Читать дальше →

[в закладки] Работа с изображениями в веб

Reading time18 min
Views124K
Одно из решений, которые приходится принимать фронтенд-разработчику при создании сайта, касается выбора способа включения изображений в состав веб-страниц. Этот способ может заключаться в использовании HTML-тега <img>. Это может быть применение CSS-свойства background или тега <image> элемента <svg>. Выбор правильного подхода к работе с изображениями весьма важен, так как это может очень сильно повлиять на производительность и доступность проекта.



Материал, перевод которого мы сегодня публикуем, посвящён изучению различных способов включения изображений в состав веб-страниц. Здесь будут обсуждены преимущества и недостатки этих способов. Кроме того, мы поговорим о том, когда и почему их обычно используют.
Читать дальше →

Ресурсы для веб-разработчика: API и UI-элементы

Reading time3 min
Views10K
У себя в блоге мы готовили несколько дайджестов с open source бенчмарками Linux-серверов для сисадминов (раз, два). Сегодня расскажем об открытых инструментах для веб-разработчиков.

Под катом — ресурсы с векторными и SVG-иконками и API.

Читать дальше →

10 лучших расширений Chrome для дизайнеров

Reading time3 min
Views27K

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

Учим физику с ребенком сами, чтобы всем было интересно

Reading time6 min
Views50K

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

Первым делом определимся, какие могут быть трудности, если существует тонны учебников, видеоуроков, а также видео с опытами? Попробую раскрыть эту проблему.

Митап: stay home and GOnline

Reading time4 min
Views6.4K

Привет! 25 апреля будет наш совместный онлайн-митап с сообществами GolangKazan и Go Yola для Go-разработчиков. В программе — два потока и восемь докладов на самые разные темы. Под катом — ссылки на видеотрансляцию, тезисы докладов и расписание мероприятия.


Читать дальше →

Jitsi Meet: опенсорсная альтернатива «шпионскому» видеоприложению Zoom

Reading time4 min
Views142K
В связи с массовым переходом на удалённую работу приложение для видеоконференций Zoom резко выросло в популярности. Но это не идеальный вариант с точки зрения безопасности. Хотя Zoom предлагает end-to-end шифрование для текстовых чатов, а шифрование видеоконференций можно активировать на стороне хоста, если верить разработчикам проприетарной программы.

Но тип шифрования невозможно проверить, потому что код закрыт, а с точки зрения приватности приложение Zoom вызывает вопросы у некоторых экспертов. Например, хост может активировать странную функцию «трекинг внимания» (attention tracking). Она отслеживает, что участник не отвлекается от совещания больше, чем на 30 секунд (окно приложения должно быть открыто и активно).

Биполярные морфологические сети: нейрон без умножения

Reading time10 min
Views3.9K

В наши дни трудно найти задачу, которую еще не предлагают решать нейронными сетями. А во многих задачах другие методы уже даже не рассматриваются. В такой ситуации логично, что в погоне за “серебряной пулей” исследователи и технологи предлагают все новые и новые модификации нейросетевых архитектур, которые должны принести прикладникам “счастье для всех, даром, и пусть никто не уйдет обиженным!” Впрочем, в индустриальных задачах чаще оказывается, что точность модели в основном зависит от чистоты, размера и структуры обучающей выборки, а от нейросетевой модели требуется разумность интерфейса (например, неприятно, когда ответом по логике должен быть список переменной длины).


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


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


Читать дальше →

Где найти фриланс, который будет приносить удовольствие? (Спойлер: не Upwork)

Reading time6 min
Views44K

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


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


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


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


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


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

Читать дальше →

Где взять аудио для машинного обучения: подборка открытых библиотек с лицензией Creative Commons

Reading time3 min
Views4.2K
Небольшой дайджест для тех, кто разрабатывает модели машинного обучения.

Под катом — своды данных с речью, музыкой и шумом промышленных агрегатов.

Читать дальше →

CSS Grid: Верстаем адаптивный журнальный макет в 20 строк

Reading time12 min
Views63K

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

Самая простая часть задачи — получение списка постов и их эксцерптов (эксцерпт — вступительный текст до ката) с наших любимых RSS–фидов. Для этого мы воспользовались WordPress-плагином Feedzy lite, который умеет агрегировать несколько фидов в один список, отсортированный по времени — идеальное решение в нашем случае. Трудная же часть в том, чтобы сделать всё красиво.
Читать дальше →

Как использовать консоль JavaScript: выход за пределы console.log ()

Reading time3 min
Views12K
Привет, Хабр! Представляю вашему вниманию перевод статьи «How to use the JavaScript console: going beyond console.log()» автора Yash Agrawal.

Один из самых простых способов отладки чего-либо в JavaScript — вывод материала с помощью console.log. Но есть много других методов, предоставляемых консолью, которые могут помочь улучшить отладку.

Давайте начнем.

Самым базовым вариантом использования является вывод строки или группы объектов JavaScript. Довольно просто,

console.log('Is this working?'); 

Теперь представьте сценарий, когда у вас есть куча объектов, которые вам нужно вывести в консоль.

const foo = { id: 1, verified: true, color: 'green};
const bar = { id: 2, verified: false, color: 'red' };

Самый интуитивно понятный способ вывода просто console.log (variable) несколько раз. Проблема становится более очевидной, когда мы видим, как оно отображается в консоли.

image

Как видите, имена переменных не видны, что не очень удобно. Это можно решить объединив все переменные в единый console.log ({foo, bar}). Это также уменьшает количество строк console.log в нашем коде.
Читать дальше →

Законы программирования

Reading time20 min
Views59K

Законы, теории, принципы и закономерности, полезные для разработчиков


Введение


Перевод репозитория github.com/dwmkerr/hacker-laws

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

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

Законы


Закон Амдала


Закон Амдала — это формула, демонстрирующая потенциал ускорения вычислительной задачи, которого можно достичь при увеличении количества ресурсов системы. Обычно он используется в параллельных вычислениях, и может предсказать наличие реальных преимуществ от увеличения количества процессоров с учётом ограничений параллелизуемости программы.
Читать дальше →

От моделей галактик до атомов – простые уловки в реализации ИИ ускоряют симуляции в миллиарды раз

Reading time4 min
Views6.3K


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

«Это серьёзное достижение», — говорит Дональд Лукас, занимающийся симуляцией климата в Ливерморской национальной лаборатории, не принимавший участия в данной работе. Он говорит, что новая система автоматически создаёт эмуляторы, работающие лучше и быстрее чем те, что вручную разрабатывает и обучает его команда. Новые эмуляторы можно использовать для улучшения моделей, которые они имитируют, и повышении эффективности работы учёных. Если работа пройдёт экспертную оценку, говорит Лукас, «это всё очень сильно изменит».
Читать дальше →

$mol: 4 года спустя

Level of difficultyMedium
Reading time30 min
Views37K

nano


Здравствуйте, меня зовут Дмитрий Карловский и я… люблю плевать против ветра. Утираться и снова плевать. Хобби у меня такое. И всё, что я создаю, делаю я без оглядки на тенденции, стараясь решать проблемы системно, а не как привычно. Зачастую бывает, что основная сложность даже не в том, чтобы придумать решение, а в том, чтобы объяснить другим, что проблема вообще существует.


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

Читать дальше →

Information

Rating
Does not participate
Location
Россия
Registered
Activity