Архив за 25 января 2015

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

Надувной инкубатор поможет спасти недоношенных малышей

Читать полностью »

Как я игру про SEO писал - 1

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

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

Читать полностью »

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

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

Поэтому, вместо предисловия, я представлюсь.

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

Кроме всего прочего я вхожу в Совет по открытым данным при Правительственной комиссии по координации Открытого Правительства и ряд общественных и экспертных советов при органах власти и в курсе многих успешных (и провальных) государственных инициатив в этой области.

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

О том, как устроены открытые данные в России - 1
Читать полностью »

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

PHP 5.7 vs. PHP7

Как я уже говорил в прошлом письме, 5.7 был отклонен в пользу перехода непосредственно к PHP7. Это означает, что не будет новой версии между 5.6 и 7 — даже если она и появилась бы, то просто служила бы сигналом тем, кто все еще погряз в устаревшем коде. Первоначально, 5.7 не должна была иметь новые функции, но должна была выбросить уведомления и предупреждения об устаревании кода, который скоро изменится в v7.

Революция PHP7: Типы возвращаемых значений и удаление артефактов - 1

Также необходимо предупредить о некоторых ключевых словах, которые будут зарезервированы в PHP7, чтобы люди могли быстро привести свой код в соответствие с помощью какой-нибудь «автоматической» проверки совместимости версий PHP. Однако, как я писал в рассылке, большинство людей, которые достаточно компетентны, чтобы соблюдать совместимость своего кода с последней версией PHP, на самом деле и не используют конструкции, которые может сломать PHP7.
Читать полностью »

Когда идентификатор не идентификатор (Атака монгольского разделителя гласных) - 1

Примечания переводчика

В переводе я позволил себе использовать некоторые англицизмы, такие как «валидный», «нативный» и «бинарник». Надеюсь с ними вопросов не возникнет.

Идентификаторы (identifiers) – специальный термин спецификации C# отожествляющий собой всё к чему можно обратиться по имени, как например название класса, имя переменной и т.д.

Roslyn – компилятор C# кода, написанный на C#. Был создан взамен существующего csc.exe. Я обычно опускаю слово компилятор в данном тексте.

Для начала несколько вещей о которых вы могли не слышать:

  • Идентификаторы в C# могут включать в себя escape-последовательности Unicode символов (как например u1234).
  • Идентификаторы в C# могут включать в себя Unicode символы категории Cf (other, format), но при сравнении идентификаторов на идентичность эти символы игнорируются.
  • Символ «Монгольский разделитель гласных» (U+180E) в зависимости от версии Unicode принадлежит либо категории Cf (other, format), либо категории Zs (separator, space).
  • В .NET хранится свой собственный список Unicode категорий, независимый от оных в Win32.
  • Roslyn является .NET приложением, и поэтому использует Unicode категории, прописанные в файлах .NET. Нативный компилятор (csc.exe) использует либо системные (Win32) категории, либо хранит в себе копию таблиц Unicode.
  • Никакая из таблиц Unicode символов (ни .NET, ни Win32) точно следует какой-либо из версий стандарта Unicode.
  • Компиляторы могут иметь баги.

Из всего этого вытекают некоторые проблемы…

Во всём виноват Владимир

Все началось с обсуждения на собрании технической группы ECMA на прошлой неделе. Мы рассматривали «нормативные ссылки», и в частности какую версию стандарта Unicode мы будем использовать. На тот момент спецификация ECMA-335 (4-ое издание) использует Unicode 4.0, а спецификация C# 5 от Microsoft использует Unicode 3.0. Я точно не знаю, учитывают ли разработчики компиляторов такие особенности. На мой взгляд было бы лучше, если ECMA и Microsoft не указывали конкретную версию Unicode в своих спецификациях. Пусть разработчики компиляторов используют самую свежую версию Unicode, доступную на текущий момент. Однако тогда компиляторы должны будут поставляться со своей личной копией таблицы Unicode, что немного странно, на мой взгляд.
Читать полностью »

В этой публикации речь пойдет о тех самых файлах favicon.ico, по которым можно быстро узнавать сайт в выдаче поисковых систем или среди горы закладок в браузере. Для своих проектов у меня встала такая задача, но в opensorce готовых решений я найти не смог. Возможно, плохо искал, или, может, такие решения уже появились, но во всяком случае я, как всякий нормальный программист, написал свое решение. Со временем его немного подморофетил и выложил в opensource, собственно, о нем я сейчас и хочу рассказать.

Мое решение написано для nodejs и системы сборки grunt и выложено в npm, пакет называется grunt-favicon. Расширение представляет из себя задачу для grunt, которое из любого графического формата может делать иконки для сайта. Читать полностью »

3D сканер из камеры, но без лазера v 0.1 - 1
Хотелось получать стереоизображение в очки виртуальной реальности из одной камеры(ведь они делались под смартфон или планшет), чтобы дописать в нее дополненную реальность.

Читать полностью »

Создана новая технология получения доступного графена - 1

Голландский кандидат наук китайского происхождения Шу-Ен Жу предложил новый способ получения миллиметровых фрагментов графена, превосходящий по эффективности ранее известные способы. Стоимость получения такого фрагмента составляет около €1000 (что уже гораздо дешевле существующих процессов), при этом планируется снизить её в тысячу раз в течение нескольких лет.
Читать полностью »

В стане разработчиков приложений и циферблатов для Pebble случилась долгожданная радость: в облаке для разработки PebbleCloud стал доступен эмулятор часов, что позволяет теперь отлаживать написанное без постоянной загрузки в часы!

image

Что особенно приятно, никаких особенных теледвижений для доступа к нему делать не нужноЧитать полностью »

Привет!

Когда данных действительно много: Vowpal Wabbit - 1

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js