суббота, 12 декабря 2020 г.

Все о разъеме USB Type-C: один для всех

Стандарт USB давно стал народным. Просто нет пользователя, не знакомого с ним. От этого еще более смелым и сложным выглядит сделанный разработчиками шаг к переходу на совершенно новый разъем. Оправдал ли он себя?

Маленькая революция в мире USB

USB Type-C или USB-C, кстати, оба варианта названия верны, — универсальный разъем стандарта USB, курируемого международной организацией USB-IF. Первый релиз был выпущен в 2014 году, а последняя и действующая спецификация 2.0 датирована августом 2019 года. USB-C призван заменить все существующие стандартные разъемы USB. 

В спецификации приведены конструктивные преимущества:

  • возможность использования в тонких гаджетах (ультрабуках, смартфонах и т.п.) за счет компактности — высота гнезда USB Type-C не превышает 3 мм;
  • независимость от ориентации штекера — можно подключать любой стороной;
  • независимость от направления подключения (хост и девайс) — одинаковый разъем на обоих концах кабеля.

Без паники — по старой доброй традиции USB сохраняется обратная совместимость со старыми версиями стандарта. C помощью переходника вы подключитесь к устройству с традиционными Type A или Micro B. Разумеется, скорость передачи данных и уровень мощности будут ограничены по минимальной версии стандарта у взаимодействующих устройств. Тот же Micro USB, свойственный для USB 2.0, порежет полосу до 480 Мбит/с. Подробнее об этом в разделе про кабели.

Самое интересное начинается как раз с пропускной способности. Начиная с версии USB 3.2 Gen2x2, он же SuperSpeed 20 Гбит/с (подробнее про правильные наименования здесь и здесь), используется только USB Type-C.

В будущем стандарте USB4, который уже совсем близко, будет поддержка только этого разъема. Если нужна скорость от 20 Гбит/с и выше — только посредством USB-C.

Разумеется, помимо инновационного конструктива, разработчики произвели серьезный апдейт основных ТТХ. В первую очередь, это расширение полосы и увеличение мощности. Дополнительно появилась возможность работы со сторонними интерфейсами. Зафиксируем все, что «проходит» через разъем USB-C:

  • USB 2.0;
  • USB 3.2;
  • USB4;
  • Thunderbolt3 (TBT3);
  • USB Power Delivery (USB PD);
  • DisplayPort Alt Mode (DP AM).

Вскрытие покажет. Распиновка USB Type-C

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

Пусть вас не смущают отсутствие видимых зацепов на штекере и многочисленные жалобы на это. В разъеме реализован механизм фиксации в виде защелок на штекере и углублений под них на гнезде. Входить и выходить такой шнурок сможет долго — заявленная наработка на отказ — 10 000 циклов. Если в среднем ежедневно делать по пять подключений, то должно хватить на 5 лет работы.

Начинка разъема отличается в зависимости от исполнения. Гнездо бывает двух типов: полнофункциональное (Full-Featured Type-C Receptacle) и поддерживающее только USB 2.0 (USB 2.0 Type-C Receptacle).  

Заглянем внутрь полнофункциональной «мамы» — там расположена двухсторонняя площадка с 24 контактами, которые делятся на несколько контактных групп:

  •  A1, A12 и B1, B2 — «земля», расположены симметрично;
  •  A4, A9 и B4, B9 — питание, расположены симметрично;
  •  A6, A7 и B6, B7 — пара пинов для передачи данных по USB 2.0, на обратной стороне расположены зеркально;
  •  A2, A3, A10, A11 и B2, B3, B10, B11 — две пары пинов для высокоскоростной передачи данных по USB 3.2 и USB4, а также альтернативного режима. Каждая пара пинов образует канал (lane). На обратной стороне каналы имеют зеркальное расположение;
  •  A5 и B5 — зеркально расположенные управляющие контакты;
  •  A8 и B8 — зеркально расположенные вспомогательные контакты, используемые для передачи нестандартных сигналов, например, звуковых в альтернативном режиме.

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

Кстати, в подавляющем большинстве смартфонов порт USB-C только с 2.0. Например, на борту Honor 20 как раз такой «урезанный» разъем, а у старшего брата Huawei P30 уже полнофункциональный.

 Штекер существует уже в трех разновидностях (это мы еще до кабелей не дошли):

  • полнофункциональный (Full-Featured Type-C Plug);
  • кабель USB 2.0 (USB 2.0 Type-C Plug);
  • только для питания (Type-C Power-Only Plug).

Полнофункциональный штекер содержит минимум 22 контакта:

Часто пины B6 и B7 отсутствуют, поскольку для USB 2.0 достаточно одной контактной пары, а в гнезде они имеются на обеих сторонах. Один из управляющих пинов меняет свое назначение и называется Vconn. Он используется для питания специального чипа электронной маркировки.

В штекере USB 2.0 Type-C отсутствуют пины высокоскоростных каналов и нестандартных сигналов (SBU1 и SBU2). Таким образом, остается минимум в 12 контактов.

Штекер типа «Power Only» встречается в природе нечасто и содержит девять обязательных пинов (A1, A4, A5, A9, A12, B1, B4, B9, B12). Наличие остальных — опционально.

Как штекер с гнездом разговаривали. Конфигурация соединения

При осуществлении контакта запускается процесс конфигурации. Он происходит на управляющих пинах (CC1 И СС2) и состоит из нескольких этапов, включающих в себя:

  • определение источника питания и потребителя;
  • определение ориентации штекера;
  • определение ролей хоста и девайса;
  • коммуникация по протоколу USB Power Delivery (USB PD);
  • определение профиля питания;
  • настройка работы в альтернативном режиме (если требуется).

Протокол взаимодействия — USB PD. Именно он отвечает за альтернативные режимы и корректный выбор схемы питания устройств, о которых более подробно сказано в следующем разделе.

Неопознанные коаксиальные объекты

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

Согласно спецификации существует четыре типа кабелей:

  • полнофункциональный (Full-Featured Type-C Cable) — на обоих концах полнофункциональные штекеры;
  • USB 2.0 (USB 2.0 Type-C Cable) — на обоих концах штекеры с поддержкой только USB 2.0;
  • интегрированный (Captive cable) — на одном конце один из видов штекеров USB-C, а другой конец является несъемной частью устройства, например, зарядного;
  • активный (Active cable) — на обоих концах полнофункциональные штекеры.

Вдобавок ко всему есть еще Thunderbolt3 (TBT3). Это отдельная история, выходящая за рамки данного материала. Просто отметим, что такие кабели маркируются обособленно «Thunderbolt3», а с обеих сторон используются штекеры типа Full-Featured. Более ясной картина должна стать, когда в боевой режим переведут стандарт USB4, включающий TBT3 в альтернативном режиме. 

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

Вот пример отличного кабеля, который поддерживает только USB 2.0:

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

А вот пример полнофункционального кабеля:

Если информация по кабелю отсутствует, но есть возможность его визуально оценить, то присмотритесь к штекеру. В полнофункциональном штекере должно быть минимум 22 или 24 контакта. В разъеме USB 2.0 такого не будет, он улыбнется вам немного беззубо:

Второй слон, на котором держится мироздание USB-C, это уровень поддерживаемой мощности. Причем изменяться может и ток, и напряжение: кабель USB Type-C должен заряжать не только смартфоны и планшеты, но и ноутбуки и даже мониторы. Рабочее напряжение типичного зарядника ноутбука лежит в диапазоне 17–20В, а монитору порой и все 100Вт подавай! Вот и приходится USB-C наряду с поддержкой тока до 5А расширять границы поддерживаемого напряжения до 20В.

А как же не сжечь любимый планшет, спросите вы? Разруливает это все тот же протокол USB PD посредством переключения профилей питания. После установления соединения устройства пытаются договориться, кто сколько может и кому сколько надо. Для безопасности «разговор» начнется с напряжения 5В. 

Есть четыре уровня: 7.5Вт, 15Вт, 27Вт и 45Вт. Для каждого из них своя конфигурация напряжения и тока. Например, для 15Вт доступны варианты с 5В и 9В, а для мощности свыше 45Вт добавляются 15В и 20В.

Кабели ранжируются по силе тока, на которую они рассчитаны. Есть три варианта: 1.5А, 3А и 5А. Всегда обращайте внимание на этот параметр! Не допускается подключение монитора кабелем менее 5А.

Третья значимая характеристика кабеля — его длина. Ниже таблица по рекомендованной длине пассивных кабелей. Активные кабели содержат дополнительные трансмиттеры для обеспечения передачи сигнала.

Не сопротивляйтесь — постарайтесь получить удовольствие

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

воскресенье, 6 декабря 2020 г.

«МОИ ВРАГИ – ПРИРОДА, ЭНТРОПИЯ и СМЕРТЬ»: интервью с нейросетью

 Александр Панчин

Некоторое время назад коллеги предоставили мне доступ к полной англоязычной версии системы искусственного интеллекта GPT-3 от OpenAI — компании сооснователь которой в том числе Илон Маск. Эта версия GPT-3 считается самой сложной на сегодняшний день компьютерной моделью, способной общаться с людьми и создавать собственные тексты. Доступ к системе дают не всем — только по заявкам или партнерам Open AI. Так что, если удаётся пообщаться с GPT-3 — это редкая удача. И почти каждый раз — это событие. Так что возникает резонный вопрос: есть ли от таких систем, синтезирующих мысли, какая-то практическая польза? Коллеги, которые предоставили мне к ней доступ, предположили, что, возможно, искусственный интеллект предложит новые интересные гипотезы о причинах нашего старения — нерешенный человечеством научный вопрос, который касается каждого. И к такой идее я отнесся скептически. Так что мы поговорили с GPT-3.





среда, 11 ноября 2020 г.

Apple представила самый быстрый процессор для ноутбуков

 В рамках уже третьей за эту осень презентации Apple открыла новую главу в истории фирменных компьютеров Mac. Компания представила свой первый ARM-процессор, разработанный специально для ноутбуков. Он создан по тому же принципу, что и чипы в iPhone и iPad. Apple M1 заявлен как самый мощный чип в своём классе.

Apple M1

Apple M1 стал первым компьютерным процессором, созданным по передовому 5-нанометровому техпроцессу. Компании удалось разместить на чипе 16 миллиардов транзисторов. Перед инженерами Apple стояла задача добиться не только выдающейся производительности, но и энергоэффективности. 

Apple M1

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

Apple M1

Помимо CPU, внутри Apple M1 располагается восьмиядерный GPU, мощность которого составляет внушительные 2,6 терафлопса. По сравнению с интегрированной графикой в ноутбуках других компаний Apple M1 выдаёт вдвое большую производительность при потреблении 10 Вт. По словам Apple, это самая быстрая интегрированная графика в мире. 

Apple M1

Apple объявила, что ключевые разработчики вроде Adobe уже внедрили поддержку Apple M1 в свои программы или работают над этим. Более того, использование ARM-процессора позволяет запускать на компьютерах Mac любые iOS-приложения.

вторник, 3 ноября 2020 г.

Как писать конспекты, если ты программист

 Когда в техническом вузе преподаватель заставляет студентов писать конспекты от руки, получается что-то вот такое:


Это – результат работы программы, генерирующей рукописный текст пользовательским почерком. Она может менять толщину пера и цвет пасты, писать буквы слитно или раздельно, поддерживает письмо на множестве разных языков и потенциально способна переносить слова по слогам на многих из них. Написано на C++/Qt, есть версии под Windows и Linux. Дальше будет небольшой разбор рукописного письма, описание разных способов его имитации, разбор наиболее интересных моментов работы программы и ссылка на репозиторий.


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


  • Начертание букв зависит от того, какие буквы стоят рядом
  • Для каждого символа добавляются рандомные и не очень искажения, из-за чего абсолютно идентичные символы в тексте обычно не встречаются.
  • Слова могут быть написаны слитно или раздельно. Также можно совмещать оба варианта написания.
  • Меняются ширина, высота и наклон, как у символов, так и у строк.

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


Как это обычно делают?


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


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


А как сделать лучше?


Основная идея такая: берём печатный текст, для каждого символа берём рукописный глиф и размещаем его на виртуальном листе бумаги в нужное место. При этом для одного и того же символа глифов должно быть несколько, а конкретный должен выбираться случайным образом, иначе будут те же проблемы, что и у шрифтов OpenType. Потом уже можно будет вносить различные искажения как на весь лист бумаги, так и для отдельной строки или символа. Вероятно, можно будет искажать глифы таким образом, чтобы из одного введённого глифа получить сразу готовый набор.


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


Я не первый, кто решил, что программная генерация — это хорошая идея, и написал свою программу для создания рукописей. Мне известны программы Синяк и Handwriter, а также сервис Писец. У них, тем не менее, есть определённые недостатки, которые сподвигли меня на написание собственной программы: у Синяка, например, лишь один глиф на символ и некоторые проблемы с юзабилити, Handwriter платный, а Писец не позволяет создать свой шрифт.


Векторный или растровый шрифт?


Раз мы говорим об индивидуальном письме, надо предусмотреть возможность забить в программу свои глифы. Достаточно очевидное решение — дать пользователю возможность распечатать шаблон для заполнения и затем брать глифы со скана заполненного шаблона. Однако для этого нужно решить следующие задачи:


  • Очистить шаблон от шума
  • Распознать специальные метки на шаблоне, чтобы понять, к какому символу какие глифы
  • Вырезать каждый глиф из фона

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


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


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

Но появляются разные бонусы:


  • Можно легко и без побочных эффектов менять цвет пасты, толщину пера и размер глифов.
  • Можно скруглять и сглаживать углы и концы линий.
  • Соединительные линии для имитации слитного написания выглядят точно так же, как линии букв.
  • Качество печати теперь зависит только лишь от принтера.
  • Можно частично автоматизировать создание собственного шрифта.

Размещение символов на листе


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


Скриншот редактора шрифтов
Жёлтый прямоугольник – как раз та часть символа, которая находится в пределах строки


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


Данные для слитного написания


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


Частичная автоматизация создания шрифта


Указывать всё это вручную для каждого символа – застрелиться можно. Надо как-то упростить процесс создания своего шрифта.


Во-первых, есть автоматическая загрузка глифов. При сохранении глифа из любимого векторного редактора достаточно назвать файл по определённому шаблону, и программа отнесёт его к нужному символу. Шаблон такой: сам символ, затем, если нужно, номер; можно разделить их нижним подчёркиванием. И, поскольку Windows не видит большой разницы между заглавными и строчными буквами, для заглавных нужно добавить префикс «UP_». Правда, такой трюк работает не со всеми символами, т.к. далеко не всё можно использовать в имени файла, поэтому вместо запрещённых символов можно писать их название.


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


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


Перенос слов по слогам


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


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


Вот так выглядят правила для русского языка:


  • «Х-ЛЛ»
  • «Г-ГЛ»
  • «ГС-СГ»
  • «СГ-СГ»
  • «ГС-ССГ»
  • «ГСС-ССГ»

Здесь Л – любая буква, Г – гласная, С – согласная, Х – буква из набора «йьъ». Чтобы предоставить пользователям возможность изменять правила, не модифицируя исходный код, я вынес их в отдельный файл:


Файл с правилами переноса
Я позволил себе несколько модифицировать оригинальные правила, чтобы не допустить отрыва одной буквы от слова.


Прочие возможности


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


Скриншот настроек


Ещё немного фоток конспекта


Кликабельно:


Фото 1


Фото 2


Фото 3


Исходники


Как и обещал – ссылка на репозиторий: https://github.com/aizenbit/Scribbler



вторник, 13 октября 2020 г.

Британии потеряли данные тестов на COVID-19 из-за ошибки в Excel

 

                                                                 В 

13.10.2020, 13:47
В Британии потеряли данные тестов на COVID-19 из-за ошибки в Excel - Фото
Иллюстративное фото: depositphotos.com

Из-за простой технической ошибки в Excel британский здравоохранительный орган потерял данные тестов на коронавирус

Британский здравоохранительный орган Public Health England (PHE) потерял данные 16 000 тестов на коронавирус из-за простой технической ошибки. Об этом сообщается на официальном сайте PHE, пишет ain.ua.

Из-за технической ошибки, которую сейчас уже устранили, результаты тестов с 25 сентября по 2 октября 2020 года не включалась в отчеты по количеству заболевших коронавирусом. Всего это коснулось 15 841 случаев.

Это привело к тому, что система здравоохранения не смогла предупредить людей о том, что они контактировали с носителями вируса. В PHE не рассказывают, в чем заключалась техническая ошибка. Однако, по данным СМИ, PHE собирала данные по результатам тестов из различных источников (лабораторий), в виде файлов CSV, которые автоматически подгружались в таблицы Excel.

Проблема, могла быть в том, что IT-специалисты PHE использовали старый формат таблиц (.xls). Он поддерживает около 65 500 строк в листе (по сравнению с новым форматом, который поддерживает более 1 млн строк). Каждый кейс с результатами теста занимал несколько строк данных. И когда место закончилось, данные просто перестали добавляться.

В PHE тем временем сообщают, что ошибку устранили и базы обновляются корректно.

понедельник, 7 сентября 2020 г.

Google впервые смоделировала химическую реакцию на квантовом компьютере

 

Это называют первым шагом к практическому применению таких компьютеров
Исследователи Google смоделировали химическую реакцию на квантовом компьютере. Они утверждают, что это первый шаг к практическому применению таких компьютеров.

Исследователи смоделировали молекулу диимида, состоящую из двух атомов азота и двух атомов водорода. В ходе реакции атомы водорода объединяются в различные конфигурации вокруг азотистых соединений.

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

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

В будущем учёные надеются создавать новые химические вещества с помощью квантового моделирования.

четверг, 27 августа 2020 г.

Microsoft продлила поддержку Windows 10 (1803) еще на полгода — до 11 мая 2021-го


За последнее время Microsoft несколько раз продлевала поддержку тех или других старых версий ОС Windows 10 в связи с пандемией COVID-19. И вот сейчас компания приняла еще одно такое решение в отношении ОС Windows 10 версии 1803, продлив ее поддержку еще на шесть месяцев. Об этом сообщается в официальном блоге компании. 


Напомним, актуальная версия Windows 10 — 2004 (или Windows 10 May 2020 Update). Обновление вышло в мае этого года и показало весьма хорошие темпы распространения, несмотря на многочисленные проблемы и ошибки. По состоянию на начало августа «2004» была третьей по распространенности версией Windows 10 с долей в 11,6%.

Что же касается Windows 10 (1803), это довольно старая версия под названием Windows 10 April 2018 Update. Ее релиз состоялся 30 апреля 2018 года. И Microsoft, придерживаясь собственного графика, на самом деле прекратила поддержку Windows 10 версии 1803 еще в ноябре прошлого года, но только версий Home и Pro. Поддержка версий Enterprise и Education была продлена еще на один год — до 10 ноября 2020 года. С этим продлением Windows 10 версии 1803 будет оставаться актуальной и получать обновления вплоть до 11 мая 2021 года. Как раз в этот день заканчивается поддержка Windows 10 версии 1809, которая на год новее 1803.

Но еще интереснее то, что теперь срок поддержки 1803 больше, чем у 1903, которая на год новее и на текущий момент является самой популярной версией программной платформы с долей 43,6%. Это связано с тем, что до выхода 1809 стандартный срок поддержки для корпоративных и образовательных версий Enterprise и Education составлял 30 месяцев, но начиная с версии 1903 первое обновление каждого года получает поддержку только в течение 18 месяцев. В случае 1903 поддержка завершается 8 декабря 2020 года. Но, возможно, Microsoft в итоге продлит срок поддержи и для нее.

В этом году Microsoft уже расширила поддержку Windows 10 версии 1709 для пользователей Enterprise и Education — до 13 октября 2020 года. Также была продлена поддержка версии 1809 для пользователей Home и Pro — до 10 ноября 2020 года.

вторник, 7 июля 2020 г.

Microsoft и OpenAI показали ИИ, который автоматически генерирует код Python по комментариям

Технический директор Microsoft Кевин Скотт и генеральный директор OpenAI Сэм Альтман показали пример автоматического создания кода на Python.
Для этого они создали модель искусственного интеллекта, который работает на алгоритме OpenAI GPT-3. Именно этот алгоритм способен выполнять задания по написанию текста по примерам типа стихов или перевода текстов.
Для начала программист на естественном языке пишет комментарий с описанием задач для кода, а искусственный интеллект уже автоматически генерирует его.

Естественно, какие-то куски кода сгенерированы не очень корректно, поэтому программист может просто переписать комментарий или дополнить его так, чтобы ИИ точно понял, что конкретно требуется сделать.

Модель ИИ обучили на репозиториях GitHub с использованием облачного суперкомпьютера Microsoft. Она умеет использовать  англоязычные комментарии и сигнатуры функций.

воскресенье, 14 июня 2020 г.

Ткацкий станок: прадедушка компьютеров

В течение долгих лет перфокарты служили основными носителями для хранения и обработки информации. В нашем сознании перфокарта твердо ассоциируется с компьютером, занимающим целую комнату, и с героическим советским ученым, совершающим прорыв в науке. Перфокарты — предки дискет, дисков, винчестеров, флеш-памяти. Но появились они вовсе не с изобретением первых компьютеров, а гораздо раньше, в самом начале XIX века…
Ткацкий станок: прадедушка компьютеров
Станок Фалькона Жан-Батист Фалькон создал свою машину на основе первого подобного станка конструкции Базиля Бушона. Он первым придумал систему картонных перфокарт, связанных в цепь.

12 апреля 1805 года император Наполеон Бонапарт с супругой посетили Лион. Крупнейший в стране центр ткачества в XVI—XVIII веках изрядно пострадал от Революции и пребывал в плачевном состоянии. Большинство мануфактур разорились, производство стояло, а международный рынок все больше заполнял английский текстиль. Желая поддержать лионских мастеров, в 1804 году Наполеон разместил здесь крупный заказ на сукно, а годом позже прибыл в город лично. В ходе визита император посетил мастерскую некоего Жозефа Жаккара, изобретателя, где императору продемонстрировали удивительную машину. Установленная поверх обыкновенного ткацкого станка громада позвякивала длинной лентой из дырчатых жестяных пластин, а из станка тянулось, накручиваясь на вал, шелковое полотно с изысканнейшим узором. При этом никакого мастера не требовалось: машина работала сама по себе, а обслуживать ее, как объяснили императору, вполне мог даже подмастерье.
 
1728. Станок Фалькона. Жан-Батист Фалькон создал свою машину на основе первого подобного станка конструкции Базиля Бушона. Он первым придумал систему картонных перфокарт, связанных в цепь. Наполеону машина понравилась. Несколькими днями позже он распорядился передать патент Жаккара на ткацкую машину в общественное пользование, самому же изобретателю положить ежегодную пенсию в 3000 франков и право получать небольшое, в 50 франков, отчисление с каждого станка во Франции, на котором стояла его машина. Впрочем, в итоге это отчисление сложилось в весомую сумму — к 1812 году новым приспособлением было оборудовано 18000 ткацких станков, а в 1825-го — уже 30000.
Изобретатель прожил остаток дней в достатке, умер он в 1834 году, а шесть лет спустя благодарные горожане Лиона поставили Жаккару памятник на том самом месте, где когда-то была его мастерская. Жаккарова (или, в старой транскрипции, «жаккардова») машина была важным кирпичиком в фундаменте промышленной революции, не менее важным, чем железная дорога или паровой котел. Но не все в этой истории просто и безоблачно. Например, «благодарные» лионцы, впоследствии почтившие Жаккара памятником, сломали его первый незаконченный станок и несколько раз покушались на его жизнь. Да и машину, если говорить по правде, изобрел вовсе не он.
1900. Ткацкий цех. Этот снимок сделан более века назад в заводском цеху ткацкой фабрики города Дарвела (Восточный Эйршир, Шотландия). Многие ткацкие цеха выглядят так и по сей день — не потому что хозяева фабрик жалеют средства на модернизацию, а потому что жаккардовы станки тех лет по‑прежнему остаются наиболее универсальными и удобными.

Как работала машина

Для понимания революционной новизны изобретения необходимо в общих чертах представлять принцип работы ткацкого станка. Если рассмотреть ткань, можно увидеть, что она состоит из плотно переплетенных продольных и поперечных нитей. В процессе изготовления продольные нити (основа) протягиваются вдоль станка; половина из них через одну крепятся к рамке-«ремизке», другая половина — к другой такой же рамке. Эти две рамки перемещаются вверх-вниз друг относительно друг друга, разводя нити основы, и в образовавшийся зев туда-сюда снует челнок, тянущий поперечную нить (уток). В результате получается простейшее полотно с нитями, переплетенными через одну. Рамок-ремизок может быть больше двух, и двигаться они могут в сложной последовательности, поднимая или опуская нити группами, отчего на поверхности ткани образуется узор. Но количество рамок все равно невелико, редко когда бывает больше 32, поэтому узор получается простым, регулярно повторяющимся.

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

Сложноузорчатые холсты умели ткать и до Жаккара, но это было по силам только лучшим мастерам, и работа была адская. Внутрь станка забирался работник-дергальщик и по команде мастера вручную поднимал или опускал отдельные нити основы, количество которых иногда исчислялось сотнями. Процесс был очень медленным, требовал постоянно сосредоточенного внимания, и неизбежно случались ошибки. Кроме того, переоснащение станка с одного сложноузорчатого холста на другую работу растягивалось иногда на многие дни. Станок Жаккара делал работу быстро, без ошибок — и сам. Единственным трудным делом теперь было набивать перфокарты. На производство одного комплекта уходили недели, зато однажды изготовленные карты могли использоваться снова и снова.

Предшественники

Как уже говорилось, «умный станок» придумал не Жаккар — он лишь доработал изобретения своих предшественников. В 1725 году, за четверть века до рождения Жозефа Жаккара, первое подобное устройство создал лионский ткач Базиль Бушон. Станок Бушона управлялся перфорированной бумажной лентой, где каждому проходу челнока соответствовал один ряд отверстий. Однако отверстий было мало, поэтому устройство меняло положение лишь небольшого числа отдельных нитей.

Следующего изобретателя, пытавшегося усовершенствовать ткацкий станок, звали Жан-Батист Фалькон. Он заменил ленту небольшими листами картона, связанными за углы в цепь; на каждом листе отверстия располагались уже в несколько рядов и могли управлять большим числом нитей. Станок Фалькона оказался успешнее предыдущего, и хотя он не получил широкого распространения, в течение жизни мастер успел продать около 40 экземпляров.
Третьим, кто взялся доводить ткацкий станок до ума, был изобретатель Жак де Вокансон, который в 1741 году был назначен инспектором шелкоткацких мануфактур. Вокансон работал над своей машиной много лет, однако его изобретение не имело успеха: слишком сложное и дорогое в изготовлении устройство по‑прежнему могло управлять относительно небольшим числом нитей, и ткань с незамысловатым узором не окупала стоимости оборудования.
 

1841. Ткацкая мастерская Каркилля. Тканый рисунок (сделан в 1844 году) изображает сцену, произошедшую 24 августа 1841 года. Месье Каркилля, владелец мастерской, дарит герцогу д’Омалю полотно с портретом Жозефа Мари Жаккара, вытканное таким же образом в 1839 году. Тонкость работы невероятна: детали мельче, чем на гравюрах.

Удачи и неудачи Жозефа Жаккара

Жозеф Мари Жаккар родился в 1752 году в предместье Лиона в семье потомственных канутов — ткачей, работавших с шелком. Он был обучен всем премудростям ремесла, помогал отцу в мастерской и после смерти родителя унаследовал дело, однако ткачеством занялся далеко не сразу. Жозеф успел сменить множество профессий, был судим за долги, женился, а после осады Лиона ушел солдатом с революционной армией, взяв с собой шестнадцатилетнего сына. И лишь после того как сын погиб в одном из сражений, Жаккар решил вернуться к фамильному делу.

Он возвратился в Лион и открыл ткацкую мастерскую. Однако бизнес был не слишком успешен, и Жаккар увлекся изобретательством. Он решил сделать машину, которая превзошла бы творения Бушона и Фалькона, была бы достаточно простой и дешевой и при этом могла делать шелковое полотно, не уступающее по качеству сотканному вручную. Поначалу конструкции, выходившие из-под его рук, были не слишком удачными. Первая машина Жаккара, которая заработала как надо, делала не шелк, а… рыбацкие сети. В газете он прочел, что английское Королевское общество поддержки искусств объявило конкурс на изготовление такого приспособления. Награду от британцев он так и не получил, однако его детищем заинтересовались во Франции и даже пригласили на промышленную выставку в Париж. Это была знаковая поездка. Во‑первых, на Жаккара обратили внимание, он обзавелся нужными связями и даже раздобыл денег на дальнейшие изыскания, а во-вторых, он посетил Музей искусств и ремесел, где стоял ткацкий станок Жака де Вокансона. Жаккар увидел его, и недостающие детали встали на свои места в его воображении: он понял, как должна работать его машина.
Своими разработками Жаккар привлек к себе внимание не только парижских академиков. Лионские ткачи быстро смекнули, какую угрозу таит в себе новое изобретение. В Лионе, население которого к началу XIX века едва ли насчитывало 100000, в ткацкой промышленности работало более 30000 человек — то есть каждый третий житель города был если не мастером, то работником или подмастерьем при ткацкой мастерской. Попытка упростить процесс изготовления тканей лишила бы многих работы.


Невероятная точность станка Жаккара


Известная картина «Визит герцога д’Омаля в ткацкую мастерскую господина Каркилля» — вовсе не гравюра, как может показаться, — рисунок полностью выткан на станке, оборудованном жаккардовой машиной. Размер холста — 109 х 87 см, работу выполнил, собственно, мастер Мишель-Мари Каркилля для фирмы «Дидье, Пти и Си». Процесс mis en carte — или программирования изображения на перфокартах — длился много месяцев, причем занимались этим несколько человек, а само изготовление полотна заняло 8 часов. Лента из 24.000 (более 1000 двоичных ячеек на каждой) перфокарт была длиной в милю. Картину воспроизводили только по специальным заказам, известно о нескольких полотнах подобного типа, хранящихся в разных музеях мира. А один вытканный таким образом портрет Жаккара заказал себе декан кафедры математики Кембриджского университета Чарльз Бэббидж. К слову, герцог д’Омаль, изображённый на полотне — не кто иной как младший сын последнего короля Франции Луи-Филиппа I.


В итоге одним прекрасным утром в мастерскую Жаккара пришла толпа и сломала все то, что он строил. Самому изобретателю строго наказали оставить недоброе и заняться ремеслом, по примеру покойного отца. Вопреки увещеваниям братьев по цеху Жаккар не бросил своих изысканий, однако теперь ему приходилось работать скрытно, и следующую машину он закончил только к 1804 году. Жаккар получил патент и даже медаль, однако самостоятельно торговать «умными» станками остерегся и по совету негоцианта Габриэля Детилле нижайше просил императора передать изобретение в общественную собственность города Лиона. Император удовлетворил просьбу, а изобретателя наградил. Окончание истории вам известно.

Эпоха перфокарт

Сам принцип жаккардовой машины — возможность менять последовательность работы станка, загружая в него новые карты — был революционным. Сейчас мы называем это словом «программирование». Очередность действий для жаккардовой машины задавалась двоичной последовательностью: есть отверстие — нет отверстия.
 
1824. Разностная машина. Бэббиджа Первый опыт постройки Чарльзом Бэббиджем аналитической машины был неудачным. Громоздкое механическое устройство, представляющее собой совокупность валов и шестерней, вычисляло довольно точно, но требовало слишком сложного обслуживания и высокой квалификации оператора.
Вскоре после того как жаккардова машина получила широкое распространение, перфорированные карты (а также перфорированные ленты и диски) стали применять в разнообразных устройствах.


Челночный станок


На начало XIX века основным видом автоматического ткацкого устройства был челночный станок. Устроен он был довольно просто: вертикально натягивались нити основы, а пулеобразный челнок летал между ними туда и обратно, протаскивая через основу поперечную (уточную) нить. Испокон веков челнок протаскивался руками, в XVIII веке этот процесс был автоматизирован; челнок «выстреливался» с одной стороны, принимался другой, разворачивался — и процесс повторялся. Зев (расстояние между нитями основы) для пролета челнока обеспечивался с помощью бердо — ткацкого гребня, который отделял одну часть нитей основы от другой и приподнимал ее.


Но, пожалуй, самое известное из таких изобретений- и самое знаковое на пути от ткацкого станка к компьютеру- это «аналитическая машина» Чарльза Бэббиджа. В 1834 году Бэббидж, математик, вдохновленный опытом Жаккара с перфокартами, начал работу над автоматическим устройством для выполнения широкого спектра математических задач. До этого он имел неудачный опыт постройки «разностной машины», громоздкого 14-тонного чудовища, заполненного шестеренками; принцип обработки цифровых данных с помощью шестеренок использовался со времен Паскаля, и вот теперь на смену им должны были прийти перфокарты.
1890. Табулятор Холлерита. Табулирующая машина Германа Холлерита была построена для обработки результатов всеамериканской переписи населения 1890 года. Но оказалось, что возможности машины выходят далеко за рамки поставленной задачи.
В аналитической машине присутствовало все, что есть в современном компьютере: процессор для выполнения математических операций («мельница»), память («склад»), где хранились значения переменных и промежуточные результаты операций, было центральное управляющее устройство, которое также выполняло функции ввода-вывода. В аналитической машине должны были использоваться перфокарты двух типов: большого формата, для хранения чисел, и поменьше — программные. Бэббидж работал над своим изобретением 17 лет, но так и не смог его закончить — не хватило денег. Действующую модель «аналитической машины» Бэббиджа построили только в 1906 году, поэтому непосредственным предшественником компьютеров стала не она, а устройства, называемые табуляторами.

Табулятор — это машина для обработки больших объемов статистической информации, текстовой и цифровой; информация вводилась в табулятор при помощи огромного количества перфокарт. Первые табуляторы были разработаны и созданы для нужд американского офиса переписи населения, но вскоре их использовали уже для решения самых разных задач. С самого начала одним из лидеров в этой сфере стала компания Германа Холлерита, человека, который изобрел и изготовил в 1890 году первую электронную табулирующую машину. В 1924 году компания Холлерита была переименована в IBM.
Когда на смену табуляторам пришли первые ЭВМ, принцип управления с помощью перфокарт сохранился и здесь. Куда удобнее было загружать в машину данные и программы с помощью карточек, нежели переключая многочисленные тумблеры. Кое-где перфокарты используются и по сей день. Таким образом, почти 200 лет главным языком, на котором человек общался с «умными» машинами, оставался язык перфокарт.

суббота, 30 мая 2020 г.

ИИ от NVIDIA создал игру Pac-Man с нуля за 4 дня, наблюдая, как играет другой ИИ

Когда Pac-Man появился 22 мая 1980 года, он установил рекорд по времени, затраченному на разработку, потребовав колоссальных 17 месяцев для разработки, кодирования и завершения. Теперь, 40 лет спустя, NVIDIA потребовалось всего четыре дня, чтобы обучить свой новый игровой ИИ, полностью воссоздать Pac-Man, основываясь только на наблюдении за игрой другого ИИ. Об этом сообщают в блоге компании.

Получивший название GameGAN, он представляет собой генеративную состязательную сеть, аналогичную тем, которые используются для создания (и обнаружения) фотореалистичных изображений людей, которых в реальности не существует. В общем случае GANs работают путем сопряжения двух нейронных сетей, генератора и дискриминатора. Генератор обучается на большом образце набора данных, а затем получает инструкции по созданию изображения на основе того, что он видел. Затем дискриминатор сравнивает сгенерированное изображение с образцом набора данных, чтобы определить, насколько они похожи друг на друга. Переключаясь между этими сетями, искусственный интеллект будет постепенно создавать все более и более реалистичные изображения.
В случае с GameGAN, генеративная сеть была обучена на использовании 50 000 игровых сессий, а затем ей велено воссоздать ее в целом — от статических стен и гранул до призраков, самого Pac-Man и правил, регулирующих их взаимодействие. Весь процесс проходил на четверке GP100s. GameGAN, однако, не был обеспечен каким-либо базовым кодом или доступом к движку игры. Вместо этого ИИ следил за игрой другого ИИ и воссоздавал сам движок и все составляющие игры.
«В последние годы было создано много ИИ, которые могут играть в игры. Но это первый созданный GAN, который может фактически воспроизвести саму игру».
Рев Лебаредиан, вице-президент NVIDIA по технологиям моделирования
Это такой же процесс создания, как и методы процедурной генерации, которые существуют с конца 70-х годов, но гораздо более эффективный метод. Этот метод мог бы также улучшить время разработки реальных автономных машин. Поскольку роботы, работающие на складах и сборочных линиях, могут представлять угрозу для безопасности своих коллег-людей, эти машины обычно сначала обучаются виртуально, так что если они совершают ошибку, то никакого реального вреда не причиняется. Проблема заключается в том, что разработка этих цифровых сценариев обучения является трудоемкой и трудоемкой задачей. Сейчас же можно просто обучить модель глубокого обучения, способную предсказывать последствия своих действий, и использовать ее вместо этого.
В конечном итоге может появиться искусственный интеллект, который может научиться имитировать правила вождения, законы физики, просто просматривая видео и наблюдая за действиями агентов в окружающей среде. GameGAN — первый шаг к этому.
GameGAN Pac-Man от NVIDIA — это полностью функциональная игра, в которую смогут играть как люди, так и ИИ, когда компания выпустит ее онлайн позже этим летом.Искусственный интеллект NVIDIA создал свою версию игры Pac-Man ...

среда, 27 мая 2020 г.

Что ждет Java после 25-летнего юбилея. Как поддерживать мотивацию, изучая язык программирования

Что ждет Java после 25-летнего юбилея


Источник: Infoworld Кофе-брейк #25. Что ждет Java после 25-летнего юбилея. Как поддерживать мотивацию, изучая язык программирования - 1На этой неделе, 23 мая 2020 года, язык Java отмечает свою серебряную годовщину. Ровно 25 лет назад компания Sun Microsystems впервые представила Java миру. Несмотря на относительно почтенный возраст и множество конкурентов, этот язык остается весьма популярным среди разработчиков. При этом Java не стоит на месте: целый ряд обновлений готовятся к выпуску уже в ближайшем будущем.

Немного истории

Java изначально появился в виде проекта «Oak», начатого в 1991 году Джеймсом Гослингом. Новый объектно-ориентированный язык сразу получил известность благодаря своей переносимости — «напиши один раз, запускай где угодно». Виртуальная машина Java поддерживала множество аппаратных платформ и операционных систем, Java-апплеты могли запускаться с веб-страницы. В течение многих лет апплеты предлагали лучшую производительность, чем JavaScript, но в конечном итоге потеряли популярность у разработчиков браузеров и были удалены из Java в 2018 году. Java стала open source в конце 2006 года. Контроль над развитием языка перешел к Oracle вместе с приобретением Sun Microsystems в январе 2010 года. Спустя несколько лет Oracle совместно с Eclipse Foundation представили корпоративную версию Java EE. Однако стандартная версия Java все еще успешно поддерживается. Обновления выпускается каждые шесть месяцев, что гораздо чаще, чем в предыдущие годы. Раньше новый релиз Java приходилось ждать около трех лет.

Java на фоне конкурентов

Java по-прежнему входит в тройку лучших языков программирования во всех авторитетных рейтингах: TIOBE, RedMonk и PyPL. До этого месяца Java в течение пяти лет занимала первое место в индексе TIOBE, пока ее не обогнал язык C. Возможно, это произошло благодаря сочетанию широкого использования C в медицинском оборудовании и пандемии COVID-19. Одно из наиболее важных преимуществ языка Java состоит в том, что у него есть огромная экосистема и он является неисчерпаемым источником рабочих мест. По оценкам Oracle, в 2017 году во всем мире насчитывалось 9 миллионов Java-разработчиков. Если провести поиск на сайте Dice.com, то окажется, что в США сейчас насчитывается около 12 000 открытых вакансий для Java-разработчиков. Тогда как, например, для специалистов по JavaScript открыто только 9000 вакансий, а для разработчиков на Python — 7600. Кроме того, Java дал толчок для развития огромной экосистемы инструментов — от фреймворка Spring и мультимедийной платформы JavaFX до серверов приложений от таких компаний, как IBM, Red Hat и Oracle.

Что ждет Java в будущем

Разработчики языка Java, в том числе Oracle и сообщество OpenJDK, продолжают развитие платформы. В выпущенном два месяца назад релизе Java 14 (JDK 14) появились switch-выражения, упрощающие кодинг, и потоковая передача событий JDK Flight Recorder (JFR) для непрерывного использования данных JFR. Следующим релизом Java станет JDK 15, его выпуск намечен на сентябрь 2020 года. Ожидаемые в новом релизе функции включают предварительный просмотр запечатанных классов для более детализированного контроля над кодом, и записи, предоставляющие классы, которые ведут себя как явные носители неизменяемых данных. На развитие языка может значительно повлиять так называемый Project Leyden, который разрабатывается для устранения таких «больных мест» в Java, как объем ресурсов, время запуска и сложности с производительностью. Предполагается, что все эти проблемы можно будет решить путем включения в платформу статических копий данных.

Дело Java в Верховном Суде США

За все время своего 25-летнего развития Java была в центре двух крупных судебных процессов. Первое дело относилось к спору между Sun и Microsoft по поводу использования Java в Windows. По утверждению Sun Microsystems, это нарушило договор о совместимости платформы и лицензионное соглашение. В ходе внесудебного урегулирования Microsoft согласилась выплатить Sun $20 миллионов. Несколько лет назад язык Java опять стал предметом спора. Между Oracle и Google разгорелся затяжной конфликт об интеллектуальной собственности по поводу использования Java в мобильной платформе Android. В результате дело дошло до Верховного суда США. Решение суда по этому вопросу может повлиять не только на использование Java в Android-приложениях, но и на всю разработку программного обеспечения. В настоящий момент судебные разбирательства приостановлены на фоне кризиса с коронавирусом COVID-19.

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

Источник: FreeCodeCamp Кофе-брейк #25. Что ждет Java после 25-летнего юбилея. Как поддерживать мотивацию, изучая язык программирования - 2Следя за постоянными изменениями в технологиях, языках и фреймворках, очень сложно сохранять мотивацию и продолжать учиться программированию. В этой статье я хотел бы поделиться некоторыми приемами, которые помогают мне сохранять мотивацию в изучении языка программирования.

Выделите 5 минут на учебу

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

Разбивайте изучаемые темы на мелкие части

Большинство вещей в этом мире вполне можно разбить на более мелкие и простые части, в каждой из которых гораздо легче разобраться. Изучение кода здесь не исключение. Например, изучение JavaScript многим может показаться огромной и очень трудной задачей. Ведь в этом языке столько нюансов! Но каждая часть JavaScript, от обработки массива до способа вызова методов, может быть разделена на составляющие части. Новичок может начать со знакомства со всплывающими окнами. Затем можно продолжить изучение на других несложных темах. В конечном итоге вы познакомитесь с работой всех методов и функций и сможете пользоваться ими, не подглядывая в Google. Ваши знания будут накапливаться, новые будут наслаиваться на старые – до тех пор, пока у вас не появится ясное понимание предмета в целом. Но чтобы это произошло, тему придется разбить на небольшие компоненты и изучать их по одному.

Выберите одну тему и беритесь за ее изучение немедленно

Вероятно, у вас уже есть представление о том, что вы хотите изучить. Это может быть HTML, CSS, React или JavaScript. Что бы это ни было — желание учиться всегда похвально. Выбрав тему, не нужно долго раскачиваться перед учебой. Вы, конечно, можете продолжать почитывать статьи и отслеживать новости о выбранной технологии, поглядывать на ее документацию… но чтобы начать изучение этой темы, нужно, наконец, приступить к делу. То есть, прямо сейчас откройте новый проект и напишите там хотя бы Hello World. Ваша цель — перестать обдумывать, как было бы хорошо изучить язык, и начать изучать его.

Наслаждайтесь учебой — это часть вашей жизни

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

Придерживайтесь расписания

Многие из нас любят оставлять учебу напоследок: на вечер или выходные. Из-за этого мы преуменьшаем ее значимость. Кроме того, когда приходит время, выделенное на изучение языка, у нас уже просто не остается энергии. Поэтому нужно ставить учебу на первое место в расписании. Можно выделить на изучение кода 15 минут сразу пробуждения или, например, перед уходом на работу. Так будет легче не сбиваться с ритма. В начале дня у вас достаточно сил, чтобы учиться, то есть, материал будет усваиваться легче. Вам не обязательно выделять на учебу большие отрезки времени. Если вы будете выделять по 15 минут в день в течение года, в итоге это выльется в 90 учебных часов!

Не заглядывайте в социальные сети во время учебы

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

Не останавливайтесь

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

вторник, 26 мая 2020 г.

В реестре отечественного ПО обнаружен запрет на Linux и другое СПО

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

Свободные лицензии как камень преткновения

В новых рекомендациях по добавлению программ в реестр отечественного ПО обнаружены значительные противоречия: в частности, они не позволяют пополнять реестр программами и ОС, распространяемыми под свободными лицензиями GPL и MPL.
В настоящее время добавление ПО в реестр осуществляется по методическим рекомендациям, подготовленным «Центром компетенций по импортозамещению в сфере информационно-коммуникационных технологий» (ЦКИТ), возглавляемым экс-замминистра связи Ильей Массухом. Этими рекомендациями и устанавливается запрет на программы под GPL и MPL, и проблему обнаружил разработчик ПО из Томской области Антон Кулагин. Своим наблюдением он поделился в своем блоге на «Хабре».
Создание реестра отечественного программного обеспечения закреплено федеральным законом об импортозамещении ПО в госсекторе, подписанным Президентом России Владимиром Путиным в июне 2015 г. Оригинальные правила формирования реестра утверждены постановлением правительства России № 1236 от 16 ноября 2015 г. Реестр начал работу 1 января 2016 г., и на 26 мая 2020 г. в нем числится более 6600 записей.
ОС Astra Linux входит в реестр российского ПО, но противоречит рекомендациям ЦКИТ, так как основана на ядре Linux
Оригинальные правила допускают добавление в реестр ПО с компонентами, распространяемыми под свободной лицензией. По словам Кулагина, подобное противоречие парадоксально, поскольку в настоящее время в реестре отечественного ПО содержатся программы, так или иначе имеющие отношение к свободным лицензиям.

Выявленные противоречия

Разногласия между требованиями оригинальных правил и теми, что были предложены ЦКИТ, находятся в пункте 4 второго раздела рекомендаций. В нем сказано, что использованные при разработке российского ПО, указанного в заявке на добавление в реестр российского софта, сторонние компоненты должны: «правомерно использоваться (на основании открытой лицензии, лицензионного договора/оферты правообладателя компонента и т.п.) и позволять получить исключительные права на ПО, использующее их в своем составе (ключевые компоненты ПО не должны распространяться на условиях таких лицензий, как GPL, MPL и т.п.)». На запрос CNews о том, почему рекомендациями запрещено все, что связано с GPL и MPL, представители ЦКИТ на момент публикации материала ответить не смогли.
Антон Кулагин отметил, что именно этот пункт может привести к тому, что из реестра отечественного ПО могут быть удалены десятки программ. В качестве примера он привел российские ОС. По его словам, в реестре числятся не менее 40 таких систем, построенных на ядре Linux, которое с 1991 г., когда Линус Торвальдс (Linus Torvalds) приступил к его разработке, распространяется под GPL-лицензией.
Спорный пункт рекомендаций ЦКИТ
К таким продуктам относятся, к примеру, ОС «Альт», ранее известная под названием AltLinux), РЕД ОС, «ОСь», а также ROSA и Astra Linux. Последняя, как сообщал CNews, выпускается в версиях для обычных пользователей и для госкомпаний и ведомств.
Кулагин подчеркнул, что, согласно действующим рекомендациям, все эти ОС были внесены в реестр с нарушением правил. Другими словами, они должны быть исключены из него без промедлений.

Возможные последствия

По мнению Антона Кулагина, если из реестра отечественного ПО будут удалены все программы, нарушающие четвертый пункт второго раздела рекомендаций ЦКИТ, одним из последствий этого станет возможность российским чиновникам официально закупать иностранное ПО. Они смогут делать это, поскольку российских аналогов у такого софта не останется.
На примере операционных систем Кулагин показал, что если из реестра будут удалены Astra Linux, «Альт», и другие ОС, то чиновники смогут закупать и эксплуатировать ОС Microsoft Windows и Apple macOS. На момент публикации материала в России не было на 100% отечественных операционных систем – имеющиеся экземпляры базируются на Linux, поскольку собственного ядра для ОС в России нет.

Откуда у ЦКИТ полномочия менять правила Правительства

ЦКИТ был создан в 2016 г. по личной инициативе Президента России, и в его задачи входит оказание поддержки и решение методических и организационных вопросов в сфере импортозамещения. Центр был учрежден АНО «Институт развития интернета», Ассоциацией разработчиков ПО «Отечественный софт» и АНО «Экспертный центр электронного государства».
Согласно правилам, решение о внесении и исключении программ из реестра российского ПО принимает Минкомсвязи, опираясь, в том числе, на результаты голосования экспертного совета при этом министерстве. 26 декабря 2019 г. этот совет утвердил методические рекомендации ЦКИТ, после чего они были опубликованы на сайте Центра и получили юридическую силу равную силе других документов, имеющих отношение к реестру российского ПО.
Данный факт означает, что разработчикам ПО при направлении заявки на добавление своего продукта в реестр следует в первую очередь учитывать требования рекомендаций ЦКИТ, а затем непосредственно правил, установленных изначально. Любое отклонение от требований ЦКИТ будет служить отказом в рассмотрении заявки, а также поводом для удаления из реестра уже числящегося в нем ПО.

Другие изменения в правилах работы реестра

За четыре года существования реестра Минкомсвязи неоднократно меняла правила его функционирования. Так, в апреле 2017 г. ведомство засекретило отбор программного обеспечения, попадающего в него

Год спустя, в апреле 2018 г. Минкомсвязи выступило с предложением о внесении в правила процедуры апелляции или досудебного разрешения разногласий между разработчиками ПО и экспертным советом при министерстве. На апрель 2019 г. пришлись новые коррективы, на этот раз связанные с гарантийным обслуживанием. Они гласят, что после вступления новых правил в силу этим обслуживанием, а также технической поддержкой и модернизацией программ из состава реестра могут заниматься исключительно российские компании без преобладающего иностранного участия или непосредственно граждане России (физлица).

Представлена новая версия архитектуры процессоров для гаджетов — ARM v9

 Новая версия микропроцессорной архитектуры, используемой в миллиардах устройств по всему миру, представлена британской компанией ARM Limite...