Search
Write a publication
Pull to refresh
58
37.1
Alice V @oisee

Ms Dev

Send message

Что такое горутины и каков их размер?

Reading time7 min
Views51K

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

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

В рамках этого исследования я буду использовать ветку Go 1.14, поэтому все фрагменты кода будут ссылаться на нее.

Читать далее

Константин Смирнов: «Барон контракт подписал, отгрузил компьютеры и стал ждать оплаты. Но тут Союз развалился»

Reading time13 min
Views10K


Александр Труханов — соавтор книг «А я был в компьютерном городе» и «Энциклопедия профессора Фортрана» — побеседовал со своим знакомым, ныне бизнесменом, Константином Смирновым о ввозе иностранных компьютеров в СССР: про дырку в железном занавесе, про немецкого барона-контрабандиста и британского люмпена-авантюриста.
Читать дальше →

Механико-цифровые часы из стальных шариков

Reading time2 min
Views81K
Перевод с сайта про самоделки instructables.com


Как работают часы

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


Сравнение компиляторов ARMCC, IAR и GCC

Reading time2 min
Views15K
image
Я работаю над одним проектом, который с большим трудом вмещается в 64к памяти микроконтроллера. И подумалось мне, что возможно, пора взглянуть на разные компиляторы, чтобы выбрать какой более агрессивно может уменьшить размер программы.

Представляю вашему вниманию небольшое сравнение.
Читать дальше →

Медленный CrossWorks for ARM?

Reading time5 min
Views2.6K


На моей текущей работе мы используем CrossWorks for ARM IDE со встроенным GCC в качестве среды разработки приложений для встраиваемых систем. До недавнего времени никто не замечал проблем с этим, пока мы не начали работать над проектом у которого требования к выходу системы из спящего режима оказались «выше обычного».


Упомянутая система работала под управлением процессора STM32L4 (ядро ARM Cortex-M4) и имела в качестве одного из источников пробуждения пьезо-кнопку. Кнопка подключена к линии MCU и пользовательское нажатие на неё генерирует прерывание, от которого происходит пробуждение. Необходимость в ускорении времени пробуждения системы возникла по нескольким причинам:


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

О том, как мы обнаружили проблему и как с помощью небольших правок в реализации CRT (C Run-time) стандартной библиотеки CrossWorks for ARM добились ощутимого ускорения дальше.


Эта статья может быть особенна интересна тем, кто пользуется следующими средами разработки:


  • CrossWorks for ARM (очень вероятно, что все проекты для ARM Cortex-M ядер будут подвержены задержкам при старте)
  • Segger Embedded Studio (SES)
Читать дальше →

Что было раньше: код или документация? OpenApi (OAS 3.0) и проблемы кодогенерации на Java

Reading time9 min
Views9.4K

Задача интеграции сервисов и различных систем является чуть ли не одной из основных проблем современного IT. На сегодняшний день самым популярным архитектурным стилем для проектирования распределенных систем является REST. Но, как известно, единого стандарта для RESTful сервисов нет, а у кажущейся простоты и свободы есть обратная сторона медали. Не менее важной является задача интеграции систем разными командами или даже компаниями, с которой приходит вопрос об актуальности документации на протяжении жизни всего проекта, и удобного способа передачи потребителю.

Эту проблему отчасти удалось решить при помощи спецификации OpenAPI (OAS 3.0)[1], но все равно часто встает вопрос о правильном применении и подводных камнях кодогенерации, например на языке Java. И можно ли полностью предоставить аналитикам написание функциональных требований, документации и моделей в yml форме для OpenAPI, а разработчикам предоставить возможность только написание бизнес-логики?

Читать далее

Реализация эффекта газетной фотографии на примере Quake

Reading time6 min
Views13K


Около двух лет назад вышла игра Return of the Obra Dinn за авторством Лукаса Поупа. В ней была весьма интересная стилизация графики трёхмерного мира под графику старых монохромных компьютеров.

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

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

Минимализм ASCII-графики + ретро-мониторы

Reading time3 min
Views19K

Символы, которые можно набрать на клавиатуре, являются мощным выразительным средством. ASCII-графика использует символы как штрихи, выполненные пером художника. И каждый такой штрих имеет как форму, так и смысловую нагрузку: буква, цифра, знак.

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

Читать далее

Цвет обитаемых миров

Reading time7 min
Views5.9K


«Вот тут мы и живём. На голубой точке», — сказал Карл Саган после выхода знаменитой фотографии "бледно-голубая точка". Фотографию сделал космический зонд Voyager 1 14 февраля 1990 года с расстояния в 6 млрд км. По сей день эта фотография остаётся самой дальней фотографией Земли. В феврале этого года ей исполнилось 30 лет, в честь чего её обработали, используя современные цифровые методы, и получили ещё более впечатляющее изображение.


(кликабельно) Обновлённая версия фотографии «бледно-голубая точка» с использованием современных программ и технологий для обработки изображений

Бледно-голубая точка или синий шарик – в любом случае наша планета ассоциируется с синим цветом. И поскольку Земля – единственная из известных нам обитаемых планет, разумно предположить, что и другие обитаемые планеты будут голубыми. Однако на самом деле всё не так просто.

Delivery Club x GIST

Reading time17 min
Views5.1K


Привет! Меня зовут Илья Воробьёв, в Delivery Club я отвечаю за направление клиентских продуктов. Вместе с Андреем Евсюковым я расскажу о том, как в растущей команде мы пересобирали процессы планирования и к чему это привело.

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

  • Мария Чебакова, руководитель группы оптимизации процессов. Отвечает за формирование и настройку бизнес- и операционных процессов.
  • Антон Сокольников, руководитель проектов в направлении логистики. Отвечает за развитие логистических продуктов.
  • Станислав Ураков, руководитель разработки в направлении логистики. Отвечает за систему, архитектуру и архитектурные решения, а также команды разработки.
Читать дальше →

Нельзя так просто взять и погрузиться в работу: как делать это правильно — так, чтобы не отвлекали [гайд]

Reading time9 min
Views19K

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

Такой эффект как-то давно описал в своем блоге Пол Грэм, один из основателей Y Combinator. Он сравнил его с чрезмерным потреблением сахара или малоподвижным образом жизни, но из вариантов действий предложил только два: переход из найма в стартап или из очень уж масштабной компании в малочисленную. Его статья вышла двенадцать лет назад — за это время появились методики, позволяющие снизить уровень стресса и поднять результативность вне зависимости от типа занятости. Рассказываю об одной из них, а именно о «deep work».

Читать далее

Стеганография и ML. Или что нам подарили генеративно-состязательные сети (GAN)?

Reading time9 min
Views6.9K


Стеганография – это наука о тайной передаче информации путем сокрытия самого факта передачи.  А само слово стеганография происходит от греч. στεγανός «скрытый» + γράφω «пишу» и буквально обозначает «тайнопись». В этой области, как и во многих других, особенно в последние годы получили широкое распространение методы машинного обучения, в частности, генеративно-состязательные сети (GAN). 

Далее в меню:

  1. Традиционная стеганография для чайников 
  2. Что такое GAN и с чем их едят?
  3. Так как же применяются GAN?
  4. Будущее GAN: что нас ждет в стеганографии?
Читать дальше →

Что плохо в новых значках Google

Reading time6 min
Views61K


Компания Google «переосмыслила» G Suite как Google Workspace и выродила удивительное семейство разноцветных логотипов вместо всем привычных, узнаваемых, а в случае Gmail — даже культовых — иконок. На их месте появились маленькие радужные капли, которые мы теперь будем изо всех сил пытаться отличить друг от друга на вкладках браузера. Компании любят громко и много разглагольствовать о фирменном дизайне, поэтому в качестве противоядия попробую просто на пальцах объяснить, почему эти иконки такие плохие и почему они не продержатся долго.

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

Представлен предварительный выпуск GIMP 3.0 — что нового?

Reading time3 min
Views12K

Разработчики графического редактора GIMP 3.0 представили версию 2.99.2, которая считается предварительной версией новой стабильной ветки GIMP 3.0. Среди основных нововведений — переход на GTK3, добавление штатной поддержки Wayland и HiDPI, переработка и оптимизация кода, добавление API для разработки новых плагинов. Появилась также возможность выделения нескольких слоев и добавлено кэширование отрисовки.

О подробностях нового выпуска — под катом.
Читать дальше →

Пересадочный узел для птиц: раскаты Волги посреди пустыни

Reading time12 min
Views20K
Привет! На нашей офигенной планете есть такое место — низовья Волги. Если бы не Волга, там была бы натуральная пустыня, как в Монголии. Но там есть река, и течёт она не просто так, а по дну бывшего древнего моря.

В России далеко не все знают про это место, а вот для орнитологов всего мира это натуральная Мекка. Почему? Потому что тут огромный трансферный узел для птиц, и это роль места в планетарном масштабе. Птица, она как и самолёт, требует дозаправки. Если вы думаете, что они просто летят в тёплые края, то нет — им нужно где-то останавливаться, отдыхать, есть несколько дней (или даже недель) и лететь дальше. И обычное дерево на даче не подходит: нужно, чтобы было много места и много корма, и при этом хищники не особенно злобствовали. Чтобы вы понимали масштабы узла — просто знайте, что тут за год «пересаживается» около 20 миллионов особей.

Нормальные реки разбиваются на 2-3 протока, а вот Волга разбивается сначала на сотни, а потом вообще превращается в огромную водную поверхность глубиной около метра. Представьте: взяли кусок пустыни размером в полтора Кипра (13 900 км2) и залили его водой. Получилось вот так:



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



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

Отец искусственного интеллекта Джефф Хинтон: «Глубокое обучение сможет делать всё»

Reading time5 min
Views9.7K
В преддверии старта нового потока курса «Machine Learning Pro + Deep Learning», делимся с вами переводом интервью MIT Technology Review с профессором Джеффри Хинтоном, который в 2012 году со своими студентами победил на ImageNet, применив глубокое обучение и добившись таким образом невероятного отрыва от соперников. В своё время его взгляды были противоположны взглядам большинства. Теперь всё иначе. Что профессор думает о развитии искусственного интеллекта, о различных подходах к нему? Об этом под катом.


Приятного чтения!

За что получает деньги наемный работник? Не понимаете? Сейчас поймете

Reading time4 min
Views152K
«За что я плачу тебе деньги?» — обычный вопрос работодателя работнику, причем саркастический, как правило.

«За что я тут корячусь на тебя?» — столь же обычный вопрос работника к работодателю.
Разобраться, за что же действительно работодатель платит деньги наемному работнику, поможет моя собственная теория, закодированная в десять букв – «ПЗП – ПЗС – ПЗПИ»

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

Теперь я не могу сделать даже маленький сайт

Reading time3 min
Views154K


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

Это был сайт про события моего родного города. На одной странице выводились все мероприятия на грядущую неделю.

Я сделал страничку с мероприятиями, и небольшую админку, где они редактировались. У меня была книжка по PHP, поэтому сайт я написал на PHP, подключил MySQL-базу, сверстал на HTML и CSS, и залил на виртуальный хостинг. Сайтом пользовались, а я усердно добавлял мероприятия каждое утро, пока не ушёл в армию, не оставив никого на поддержку. Так сайт и почил.

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

Я решил взяться за дело и стал думать.
Читать дальше →

Проектируем мульти-парадигменный язык программирования. Часть 3 — Обзор языков представления знаний

Reading time17 min
Views6.6K
Продолжаем рассказ о создании мульти-парадигменного языка программирования, поддерживающего декларативный логический стиль для описания модели предметной области. Прошлые публикации находятся здесь и здесь. Теперь пришло время для описания основных особенностей и требований к языку описания модели предметной области. Но для начала сделаем небольшой обзор наиболее популярных языков представления знаний. Это довольно обширная область, имеющая давнюю историю и включающая ряд направлений — логическое программирование, реляционное исчисление, технологии семантической паутины, фреймовые языки. Я хочу сравнить такие языки как Prolog, SQL, RDF, SPARQL, OWL и Flora, выделить те их особенности, которые были бы полезны в проектируемом мульти-парадигменном языке программирования.
Читать дальше →

Как воспоминания переживают ампутацию, метаморфозы, и передаются через инъекции

Reading time7 min
Views14K

Если безголовый червь может заново отрастить память, тогда где же она хранится? А если память может восстанавливаться, можно ли её перенести?

Изучение памяти всегда было странной темой, стоявшей в науке особняком. В 1950-е годы никому не известный профессор психологии Джеймс Макконнел из Мичиганского университета попал в заголовки газет (став в итоге чем-то вроде знаменитости), проведя серию экспериментов над планариями – пресноводными плоскими червями. Они восхищали Макконнела не только потому, что обладали, по его словам «нервной системой истинно синаптического типа». Также они «имели невероятные способности к регенерации. При лучшем раскладе можно разрезать червя на множество частей, до 50 штук», и каждая из них восстановится в «нетронутый и полностью функционирующий организм».
Читать дальше →

Information

Rating
378-th
Location
Dublin, Dublin, Ирландия
Registered
Activity