Архив Январь 11, Среда, 2012

JAVA / Веб-редактор кода на Kotlin, с примерами и компиляцией в JavaScript!

Нет комментариев »

Слышали про Kotlin? Это новый JVM-ориентированный язык программирования от JetBrains?



До вчерашнего дня о Kotlin можно было только почитать и пофантазировать.

А вчера команда разрабатывающая язык открыла для всеобщего доступа web-редактор кода на Kotlin c возможностью компиляции и запуска. Добро пожаловать на http://kotlin-demo.jetbrains.com!



Вот, что можно сделать сейчас:

  • Поиграться с готовыми примерами и задачками.
  • Запустить ваш код на JVM, работающей на нашем сервере. Т.е. можно использовать знакомые вам классы из JDK.
  • Также можно скомпилировать Kotlin-код в JavaScript и запустить его в браузере



Редактор кода уже сейчас умеет делать подсветку ошибок «на лету» либо в момент запуска (по умолчанию), форматирование кода и предоставляет автодополнение по Ctrl+Space.

Kotlin web demo

Проект находится в стадии разработки и будет активно развиваться. Дальше обещается библиотека для более удобной работы с расширениями JDK типа collections и пр., больше примеров и интересных задач.



Ваши идеи, толковые предложения, а также отчеты об ошибках очень приветствуются в баг-трекере проекта.



А если есть желание посоревноваться и получить приз, то предлагаем вот такие 2 задачки:


Game Development / Новая концептуальная веСЧь для Apple

Нет комментариев »

InCube Chess: первая удачная реализация шахмат в трёхмерном поле



Привет!



Хотя в Хабре обычно не обсуждают игрушки, полагая их занятием несерьёзным – я сознательно сделал сегодня исключение. Очень уж редко в «игровой индустрии» происходит что-то действительно оригинальное. К тому же надобно, чтобы при яркой оригинальности оно осталось ещё и играбельным – а это уж совсем редкость. Но в данном случае, кажется, оба требования сошлись. В общем, я нашёл кое-что для настоящих «головастиков»…



Суть в том, что небольшая украинская фирма «InCube Games» выпустила одноимённые компьютерные шахматы: InCube Chess. И это не заслуживало бы ровно никакого внимания (мало ли шахматных программ?) – если бы не одна существенная деталь: поле для шахмат представляет собой не плоскую «доску» 8х8, а куб, 8х8х8. То есть борьба между фигурами игроков разворачивается не в двумерном, а в трёхмерном пространстве!







JavaScript / PhantomJS + JSCoverage + QUnit или консольные JS юнит-тесты с подсчетом покрытия

Нет комментариев »

Поговорим о случае, когда нужно автоматизировать запуск тестов и сбор статистики покрытия, к примеру, для гипотетической клиентской JS библиотеки. Задача не совсем тривиальна, поскольку для нормальной работы библиотеки требуется полноценный браузер — библиотека является визуальной оберткой над стандартными компонентами формы. Библиотека должна быть написана так, чтобы все взаимодействие с ее объектами можно было производить с помощью методов, которые они предоставляют, а не только через непосредственные манипуляции с DOM (т.е. любое действие юзера может быть запущено не только событием, допустим, клика по чему-то, но и руками через метод). Но тем не менее, надо этот DOM иметь, чтобы результаты работы методов помимо изменения внутреннего состояния объектов также отображались и в DOM. В целом напоминает приложения на Sencha (ExtJS).



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


JavaScript / Backbone Boilerplate

Нет комментариев »

Американская компания 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.


*nix / [Перевод] Новый быстрый интерфейс изменения размера EXT4 файловой системы

Нет комментариев »

Вчера был опубликован запрос добавления изменений в ядро Linux 3.3 от Theodore Ts’o. Среди множества исправилений багов и других изменений в текущей де-факто стантарной файловой системе Linux, EXT4, появился новый интерфейс изменения размера файловой системы на лету, который впервые был публично представлен несколько месяцев назад. Новый интерфейс для EXT4 разработал Yongqiang Yang.


IP-телефония / Видео-звонки из браузера в SIP

Нет комментариев »

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

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



Блог компании Nomobile.Ru / CES 2012 // Huawei P1 и P1 S

Нет комментариев »

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







Называются они почти одинаково — P1 и P1 S, выглядят почти одинаково, и разницу заметить сложно — стоило бы китайцам, наверно, как-нибудь подальше развести эти два смартфона по сегментам. Но самое удивительное в них — это даже не ультратонкие и корпуса и дизайн, скопированный у Motorola DROID (это как раз никого не удивило), а уже четвертый Android! Причем сразу в обоих гаджетах.


Криптография / Слепая подпись на основе ГОСТ 34.10-2001

Нет комментариев »

Прошедшим и будущим выборам посвящается.



После вбросов, скандалов, интриг, расследований, которые были на думских выборах, невольно задаешься вопросом: а как сделать так, чтобы было все честно? Ну а применительно к ИТ, как сделать так, чтобы все было честно, да еще и с помощью высоких технологий? Я читал и про пробивание дырочек, и про QR-коды, поэтому решил внести скромную математическую лепту.

В этом топике мы поговорим с вами о том, как решить две взаимно противоположные проблемы с помощью криптографии: проблему верификации избирателя и проблему тайны голосования. Я немного расскажу о так называемой «слепой подписи» и даже представлю демонстрационное приложение, которое показывает, каким образом могут быть решены задачи верификации и анонимности одновременно, причем на основе криптоалгоритмов ГОСТ 34.10 и 34.11, которые официально одобрены ФСБ.


Стартапы / Будьте готовы к худшему, потому что оно все равно случится

Нет комментариев »

Через это должны пройти всеЭтот пост появился случайно из комментария к статье из песочницы «Стартап? Завязывайте!». Комментарий писался-писался и написался на целый пост. Извините за это бестолковое вступление – я думаю, не у меня одного так иногда бывает.



Статья действительно хорошая. Не в пример другим статьям про стартапы, от которых, как справедливо замечает автор, многих уже тошнит. И все там вроде бы по делу и вполне логично. Вот только один момент в позиции автора мне показался спорным: «Занимайтесь тем, что вам нравится, не получается – бросайте, это не ваше». С этим я согласиться не могу. Каким бы не было ваше увлечение или специальность, за что бы вы ни взялись, — при достижении некоторого уровня (бизнес/стартап/оклад/фриланс) рано или поздно вам придется столкнуться кое с чем, о чем говорить не принято, но с чем рано или поздно сталкивается любой. Все прикольное и забавное, чем вы увлекались, и что вас вдохновляло, станет всего лишь Вашей работой (или бизнесом, в данном контексте – это неважно). Только тогда наступает настоящее испытание на прочность.


Информационная безопасность / О безопасности и адекватности поддержки

Нет комментариев »

Если честно, не знаю в какую тему отнести этот пост, но мне кажется, что сюда.

Забегая вперед, скажу, что пишу пост с чистой совестью, т.к. уведомлял о рассказанном ниже администрацию blizko.ru за 2 недели до нового года по почте и за неделю 2 раза по телефону. Плюс еще раз позвонил сегодня.



Вернемся в начало и объясню, в чем дело. Есть некий информационно-поисковый ресурс blizko.ru

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







Зарегистрировался, нажал эту ссылку и что я увидел? Да вот что: