До вчерашнего дня о Kotlin можно было только почитать и пофантазировать.
А вчера команда разрабатывающая язык открыла для всеобщего доступа web-редактор кода на Kotlin c возможностью компиляции и запуска. Добро пожаловать на http://kotlin-demo.jetbrains.com!
Вот, что можно сделать сейчас:
Поиграться с готовыми примерами и задачками.
Запустить ваш код на JVM, работающей на нашем сервере. Т.е. можно использовать знакомые вам классы из JDK.
Также можно скомпилировать Kotlin-код в JavaScript и запустить его в браузере
Редактор кода уже сейчас умеет делать подсветку ошибок «на лету» либо в момент запуска (по умолчанию), форматирование кода и предоставляет автодополнение по Ctrl+Space.
Проект находится в стадии разработки и будет активно развиваться. Дальше обещается библиотека для более удобной работы с расширениями JDK типа collections и пр., больше примеров и интересных задач.
Ваши идеи, толковые предложения, а также отчеты об ошибках очень приветствуются в баг-трекере проекта.
А если есть желание посоревноваться и получить приз, то предлагаем вот такие 2 задачки:
InCube Chess: первая удачная реализация шахмат в трёхмерном поле
Привет!
Хотя в Хабре обычно не обсуждают игрушки, полагая их занятием несерьёзным – я сознательно сделал сегодня исключение. Очень уж редко в «игровой индустрии» происходит что-то действительно оригинальное. К тому же надобно, чтобы при яркой оригинальности оно осталось ещё и играбельным – а это уж совсем редкость. Но в данном случае, кажется, оба требования сошлись. В общем, я нашёл кое-что для настоящих «головастиков»…
Суть в том, что небольшая украинская фирма «InCube Games» выпустила одноимённые компьютерные шахматы: InCube Chess. И это не заслуживало бы ровно никакого внимания (мало ли шахматных программ?) – если бы не одна существенная деталь: поле для шахмат представляет собой не плоскую «доску» 8х8, а куб, 8х8х8. То есть борьба между фигурами игроков разворачивается не в двумерном, а в трёхмерном пространстве!
Поговорим о случае, когда нужно автоматизировать запуск тестов и сбор статистики покрытия, к примеру, для гипотетической клиентской JS библиотеки. Задача не совсем тривиальна, поскольку для нормальной работы библиотеки требуется полноценный браузер — библиотека является визуальной оберткой над стандартными компонентами формы. Библиотека должна быть написана так, чтобы все взаимодействие с ее объектами можно было производить с помощью методов, которые они предоставляют, а не только через непосредственные манипуляции с DOM (т.е. любое действие юзера может быть запущено не только событием, допустим, клика по чему-то, но и руками через метод). Но тем не менее, надо этот DOM иметь, чтобы результаты работы методов помимо изменения внутреннего состояния объектов также отображались и в DOM. В целом напоминает приложения на Sencha (ExtJS).
Для достижения поставленных целей нужен некий контролируемый браузер, фреймворк для запуска тестов и утилита, которая позволит посчитать покрытие кода тестами, а также некоторый код, который соединит все компоненты.
Американская компания Bocoup, как и многие другие веб-разработчики, постоянно использует в работе известный «пуленепробиваемый» шаблон для создания HTML5-сайтов HTML5 Boilerplate. Однако, сотрудники Bocoup решили не только пользоваться, но внести свой вклад в общее дело и выкатили для всеобщего пользования не менее концептуальную вещь — Backbone Boilerplate, набор лучших средств и приёмов для создания приложений Backbone.js.
Прямо из коробки мы получаем:
Backbone, Underscore и jQuery, всё это на базе HTML5 Boilerplate.
Инструмент Windows/Mac/Linux для прекомпиляции шаблонов, связывания и минификации всех библиотек, кода приложения и CSS.
Лёгкий веб-сервер node.js.
Многочисленные сниппеты кода для Backbone, облегчающие жизнь.
В Backbone Boilerplate логичная и элегантная файловая система (отдельно код, вспомогательные файлы, тесты, билды) и есть возможность создавать собственные классы Models/Collections/Views/Routers внутри модулей.
Разработчики говорят, что проект появился в результате их долгих попыток работать с другими шаблонами: оказалось, что в одних нет процесса сборки, другие налагают излишние ограничения. Новый Backbone Boilerplate призван исправить ситуацию и вполне может стать каноническим, каким стал тот же HTML5 Boilerplate.
Вчера был опубликован запрос добавления изменений в ядро Linux 3.3 от Theodore Ts’o. Среди множества исправилений багов и других изменений в текущей де-факто стантарной файловой системе Linux, EXT4, появился новый интерфейс изменения размера файловой системы на лету, который впервые был публично представлен несколько месяцев назад. Новый интерфейс для EXT4 разработал Yongqiang Yang.
В предыдущей статье я немного осветил вопрос доступных способов организации голосового общения в браузере. В этот раз задача будет посложнее: мы хотим совершать видео-звонки из браузера удаленному абоненту, сидящему за софтфоном или устройством, поддерживающим SIP. Нужно это может быть, например, вот зачем:
хотим сделать систему online-консультаций для интернет-магазинов, которая позволит посетителям сайта вести видео-беседу с консультантом, сидящим за привычным мессенжером.
хотим дополнить систему телеконференций на базе Polycom возможностью подключения участников, у которых кроме браузера ничего нет.
Китайцы заполоняют и порабощают, и скоро мы все там будем — это факт. Это видно не только по Lenovo, но и массе других брендов. Например, по Huawei, которые выкатили два, хоть и очень похожих, но довольно интересных, качественных Android-смартфона.
Называются они почти одинаково — P1 и P1 S, выглядят почти одинаково, и разницу заметить сложно — стоило бы китайцам, наверно, как-нибудь подальше развести эти два смартфона по сегментам. Но самое удивительное в них — это даже не ультратонкие и корпуса и дизайн, скопированный у Motorola DROID (это как раз никого не удивило), а уже четвертый Android! Причем сразу в обоих гаджетах.
После вбросов, скандалов, интриг, расследований, которые были на думских выборах, невольно задаешься вопросом: а как сделать так, чтобы было все честно? Ну а применительно к ИТ, как сделать так, чтобы все было честно, да еще и с помощью высоких технологий? Я читал и про пробивание дырочек, и про QR-коды, поэтому решил внести скромную математическую лепту.
В этом топике мы поговорим с вами о том, как решить две взаимно противоположные проблемы с помощью криптографии: проблему верификации избирателя и проблему тайны голосования. Я немного расскажу о так называемой «слепой подписи» и даже представлю демонстрационное приложение, которое показывает, каким образом могут быть решены задачи верификации и анонимности одновременно, причем на основе криптоалгоритмов ГОСТ 34.10 и 34.11, которые официально одобрены ФСБ.
Этот пост появился случайно из комментария к статье из песочницы «Стартап? Завязывайте!». Комментарий писался-писался и написался на целый пост. Извините за это бестолковое вступление – я думаю, не у меня одного так иногда бывает.
Статья действительно хорошая. Не в пример другим статьям про стартапы, от которых, как справедливо замечает автор, многих уже тошнит. И все там вроде бы по делу и вполне логично. Вот только один момент в позиции автора мне показался спорным: «Занимайтесь тем, что вам нравится, не получается – бросайте, это не ваше». С этим я согласиться не могу. Каким бы не было ваше увлечение или специальность, за что бы вы ни взялись, — при достижении некоторого уровня (бизнес/стартап/оклад/фриланс) рано или поздно вам придется столкнуться кое с чем, о чем говорить не принято, но с чем рано или поздно сталкивается любой. Все прикольное и забавное, чем вы увлекались, и что вас вдохновляло, станет всего лишь Вашей работой (или бизнесом, в данном контексте – это неважно). Только тогда наступает настоящее испытание на прочность.
Если честно, не знаю в какую тему отнести этот пост, но мне кажется, что сюда.
Забегая вперед, скажу, что пишу пост с чистой совестью, т.к. уведомлял о рассказанном ниже администрацию blizko.ru за 2 недели до нового года по почте и за неделю 2 раза по телефону. Плюс еще раз позвонил сегодня.
Вернемся в начало и объясню, в чем дело. Есть некий информационно-поисковый ресурс blizko.ru
На нем можно найти довольно много компаний, предоставляющих те или иные услуги. Есть и страница просмотра контактов и другой информации о компаниях. Так вот на этой странице я увидел необычную ссылку "это моя компания":
Зарегистрировался, нажал эту ссылку и что я увидел? Да вот что: