Новости про Google и программирование

Google хочет улучшить безопасность Linux

Компания Google сообщила, что внесёт свой вклад в повышение безопасности операционной системы Linux написанием кода ядра системы на языке Rust.

Данный шаг позволит модернизировать систему и улучшить её безопасность при использовании на смартфонах и на различных интернет-устройствах.

Язык Rust

Если работа по проекту будет начата, то компания добавит новые элементы в ядро Linux, написанные на Rust. Такие изменения приведут к значительному технологическому и культурному сдвигу в разработке этой ОС, которая лежит в основе систем Google Android и Chrome, а также в большей части решений для интернета.

Добавление модулей на Rust в ядро Linux повысит её безопасность, закрыв некоторые лазейки для хакеров, атакующих телефоны, компьютеры и серверы. С момента своего выпуска в 1991 году, Linux писался на очень мощном, но устаревшем языке C. Этот язык был разработан в 1972 году, и продукты, созданные на нём, более уязвимы перед хакерами, чем написанные на более новых языках программирования.

Google хочет вернуть родство Android и Linux

Компания Google сообщила о своих планах по возвращению Android в основную линейку ядра Linux.

Конечно, операционная система и сейчас работает на ядре Linux, которое претерпело за последние годы огромное количество изменений. Это привело к тому, что теперь оно не совместимо с материнской операционной системой. На фоне этих изменений Google изъявил желание исправить ситуацию, и вернуть Android на одну линию разработки, став обычным форком Linux.

Заявленные изменения позволят исключить тысячи часов работы, которая ведётся, по сути, параллельно. Однако главное то, что сближение позволит объединить преимущества Android с Linux. Таким образом, мы увидим более совершенный Linux на PC, и более надёжный Android на телефонах.

Этот процесс уже протекает. Отличия были сокращены с 60 000 дополнительных строк кода в Android до 32 000. Фактически, Google даже продемонстрировала более-менее работоспособное Android-устройство, работающее на ОС, построенной на последнем ядре Linux. Пока не идеально, но начало, несомненно, радует.

Сейчас Android 10 использует ядро Linux двухлетней давности. Именно столько заняла адаптация, так что стремления Google, очевидно, важны.

Google создаёт новый формат изображений

Компания Google постоянно пытается улучшить алгоритмы сжатия изображений. На этот раз речь идёт о формате сжатия с потерей качества Pik, над которым неофициально работает компания.

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

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

Современный формат изображений от Google, WebP, работающий как с потерей качества при сжатии, так и без, был анонсирован в сентябре 2010 года. И пока не ясно, станет ли компания менять WebP на Pik, или нет.

Google открывает исходный код системы машинного обучения

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

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

Исполнительный директор Google Сундар Пичаи написал в своём блоге: «Всего пару лет назад вы не могли дать команду Google app в шуме улицы, или прочитать вывески на русском используя Google Translate, либо же мгновенно находить изображения своего лабрадуделя в Google Photos. Наши приложения не были достаточно умны. Но за короткий период времени они стали намного, намного умнее. Теперь, благодаря машинному обучению, вы можете делать все эти вещи довольно легко».

Директор отметил, что система «TensorFlow — быстрее, умнее и гибче, чем наша старая система, поэтому она может быть адаптирована к новым продуктам намного проще и богаче. Сегодня мы также открыли код TensorFlow. Мы надеемся, что это позволит сообществу машинного обучения, всем — от академических учёных до инженеров, до увлечённых, намного быстрее обмениваться идеями через работающий код, а не просто изучать документы».

Google открывает исходный код библиотеки PDF

Компания Google опубликовала исходный код программной библиотеки PDF для всех желающих.

Код, названный Pdfium, присутствует в браузере Chrome и отвечает за рендер документов портативного формата (то есть PDF), с использованием технологии от PDF приложения Foxit.

Основатель и глава Foxit Юджин Сюн Фоксит заявил в блоге компании: «Foxit гордится тем, что её выбрали в качестве PDF провайдера для открытого проекта Pdfium. Наша высокая производительность, высокая точность и платформонезависимая программная технология поможет разработчикам внедрить мощную PDF технологию при создании инновационных приложений во всех случаях».

Этот же анонс был сделан сотрудником Google и самозваным «Хромовангелист» Франсуа Биюфортом, однако в несколько другом ключе. В профиле Google+ он сообщил своим читателям: «Если ваш следующий проект находится под открытой лицензией, я не могу в достаточной степени рекомендовать вам изучить то, как просто создать PDFium и увидеть, как пользователи Chrome используют его».

Дело в том, что определённые аспекты исходного кода останутся засекреченными, поскольку они содержат элементы кода, принадлежащие Adobe. Так, компания Google уже имеет проблемы из-за открытого исходного кода, которые возникли после того как недавно Oracle выиграла иск, аргументировав ситуацию тем, что Android основана на Java API, которая защищена авторскими правами.

Исходный код PDF можно загрузить у самой Google.

Google выпустил язык программирования Go 1

Похоже, что Google уверенными шагами превращается из «поискового гиганта» в «софтверного». Недавно компания представила версию 1.0 своего языка программирования Go, который получил коммерческое имя Go 1.

Компания уже подготовила компиляторы для операционных систем Linux, FreeBSD, Mac OS X и Microsoft Windows.

Эндрю Герранд (Andrew Gerrand), который работает на Google, уверил разработчиков, что в дальнейшем, код, написанный на Go 1, будет обратно совместим. Герранд заявил: «Люди, которые пишут программы на Go 1, могут быть уверены, что их программы будут и дальше компилироваться и запускаться без изменений на множестве сред в течение многих лет. Аналогично тому, как авторы, написавшие книги о Go 1 могут быть уверены, что их примеры и пояснения в них окажутся полезными читателям и сегодня и в будущем».

Разработчики также указали на некоторые изменения, такие как изменения в стандартной библиотеке. Они также сказали, что выход Go 1 был стимулирован новым релизом Google App Engine SDK.

Язык Go является попыткой компании создать язык низкого уровня, который может взаимодействовать App Engine SDK. При этом такое взаимодействие должно оказаться более простым, чем с динамическими языками программирования, такими как PHP, Python и Ruby.

Google разрешит исполнение кода на C и С++ в браузере

Компания Google решила интегрировать среду разработки Native Client в браузер Chrome, обеспечив в нём поддержку исполнения кода, написанного на языках С и С++, что означает использование всех возможностей программирования, а не только доступных в Javascript.

Может показаться, что такие возможности могут иметь крайне негативные последствия в плане безопасности ПК, однако программный инженер Google Крис Роджерс (Chris Rogers) заверил, что программный код C будет исполняться с теми же ограничениями, что и для Javascript.

Программное подразделение поискового гиганта также представило набор интерфейсов, известный как Pepper, который позволяет внедрять код C и C++ в HTML5. Это средство, по заверению Google, позволит разработчикам использовать уже существующий код для обеспечения высокой производительности веб-приложений с минимальной его модификацией.

Внедрив Native Client в Chrome, Google сделали веб браузер единственным самым главным приложением во всей операционной системе. Можно сказать, что теперь у пользователей практически не останется причин для сворачивания своего браузера на панель задач.