Ciklum IT Jam 2009 – 5 декабря

September 29th, 2009

Ciklum IT Jam 2009

В этом году Ciklum приглашает представителей украинских IT-сообществ, а также непартийных докладчиков, поделиться опытом.

Темы мини-barcamp’ов (http://it-jam.ciklum.net/index.php/component/content/article/8) :

  • Dynamic Programming Languages
    Ruby on Rails, Python, Perl
  • Mobile Development
    iPhone, Android, Blackberry
  • Agile
    Scrum, XP, kanban
  • RIA
    Flash, Silverlight, Flex
  • CMS
    Drupal, EPiServer, Joomla

Другая особенность программы – возможность задать вопросы и узнать мнение представителей ведущих украинских IT-компаний, организованная в виде panel discussions: http://it-jam.ciklum.net/index.php/component/content/article/7 .

В финале мероприятия – неофициальная часть: неформальное общение с коллегами, живая музыка, пиво-закусь :)

Регистрация уже открыта: http://it-jam.ciklum.net/index.php/component/user/register

upd: внимание, новая дата! Мероприятие переносится с 31 октября на 5 декабря.

admin анонс, программирование

Открылся набор в Академию Современного Программирования (Петербург)

September 23rd, 2009

Академия Современного Программирования (Санкт-Петербург) приглашает студентов 2-3 курсов пройти отбор в группу первого года обучения.
В этом году произошли некоторые изменения: в качестве базового языка программирования будет использоваться C++, а не Java.

Об Академии
Академия призвана давать действительно востребованные на российском рынке программирования знания. Курсы Академии ориентированы, преимущественно, на студентов 2-4 курсов ВУЗов. При этом занятия в Академии оказываются полезными как для студентов, обучающихся в своем ВУЗе по специальностям, связанным с IT, так и для тех, чья основная специальность далека от программирования.

Программа Академии рассчитана на 2 учебных года, обучение бесплатное. Успешно проходящие курсы студенты получают стипендию. Занятия проходят по вечерам 3 раза в неделю.
(подробнее тут)

Подробности о приеме можно найти на сайте Академии.

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

n0mer misc

OT: who’s stronger?

July 1st, 2009

Clover Test Optimization: less is more

June 8th, 2009

В чём суть оптимизации тестов?

Clover (http://www.atlassian.com/software/clover/), начиная с версии 2.4, отслеживает какие строки исходного кода запускаются при выполнении каждого теста. Эта информация используется для оптимизации порядка запуска тестов.

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

Поддержка Clover в интегрированных средствах разработки (IDE)

Поддерживаются Eclipse и IntelliJ IDEA.

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

Оптимизация тестов позволяет запустить все тесты, при этом не расходуя время разработчика на выполнение всего комплекта или наоборот не пропуская запуск того теста, который потом сломает ночной билд (nightly build). Такой подход означает более частое тестирование, что (естественно) улучшит качество кода и одновременно ускорит процесс разработки.

Clover в действии – более частый запуск тестов за счёт меньшего времени их выполнения, или less is more (см. ниже).

01:53

Подробности:

Происхождение фразы “less is more”

неверныеПрограммисты на ruby/RoR знакомы с мантрой “less is more”. Думаю, им будет интересно узнать о происхождении этой фразы.
Вот отрывой из поэтического произведения “Andrea del Sarto” (также известного как “Faultless Painter”) Роберта Браунинга,

опубликованного в далёком 1855 году и вошедшего в сборник “Men and Women“:

I do what many dream of, all their lives,
–Dream? strive to do, and agonize to do,
And fail in doing.
I could count twenty such
On twice your fingers, and not leave this town,
Who strive–you don’t know how the others strive
To paint a little thing like that you smeared
Carelessly passing with your robes afloat–
Yet do much less, so much less, Someone says,
(I know his name, no matter)–so much less!
Well, less is more, Lucrezia: I am judged.

There burns a truer light of God in them,
In their vexed beating stuffed and stopped-up brain,
Heart, or whate’er else, than goes on to prompt
This low-pulsed forthright craftsman’s hand of mine.

Часто авторство фразы “Less is more” ошибочно приписывается архитекторам Buckminster Fuller (1895 – 1983) или Ludwig Mies van der Rohe (1886 – 1969). Конечно, эти архитекторы эту фразу использовали, но придумали её не они.

Внимение! правильный ответ :)
Фраза “less is more” – девиз философии минимализма. Впервые была использована в 1774 году немецким поэтом Кристофом Виландом (1733 – 1813)

Примечательно, что в UNIX-мире совершенно спокойно уживаются два пейджера, less и more:

:)

admin misc

[ann] Confluence 3.0

June 8th, 2009

2 июня вышел релиз Confluence 3.0 – wiki-системы, написанной на java.

Макросы

В Confluence 3.0 появился Macro Browser – возможность добавлять чарты, списки дел, фото галереи, RSS-ленты с помощью нажатия на кнопку мыши. В Confluence 3.0 есть 80 встроенных макросов, плюс возможность использовать макросы сторонних производителей, например  Balsamiq mockups и Gliffy diagrams.

Социальное взаимодействие
В Confluence 3.0 появились возможность открывать для себя новых коллег и экспертов, следя за их обновлениями, налаживать новые связи с сотрудниками, а также создавать и вступать в тематические группы (networks).

Эти новые возможности помогут найти новых коллег:

  • Hover Profile (всплывающий профиль) – информация и меню профиля. Появляется, если навести курсор мыши на фото пользователя
  • Enhanced User Profiles (пользовательский профиль) – больше данных в пользовательском профиле, такие как должность, отдел, месторасположение плюс информация об активностях, строке статуса, а также его окружение (network)
  • Redesigned Personal Spaces (пользовательские пространства)- персональные пользовательские  пространства (spaces) теперь содержат сворачиваемую боковую панель, которая как и User Profile содержит данные об активности, текущий статус и окружение.

Эти возможности – для построения связей и отношений:

  • Status Updates (обновления статуса) – сообщения длиной до 140 символов, позволяют поделиться ссылкой, задать вопрос или просто поделиться с сотрудниками информацией о том, чем вы именно сейчас занимаетесь
  • Networks (окружения) – возможность следить за обновлениями коллег путём добавления их к своему окружению
  • Activity Streams (активности) – просмотр аггрегированных данных об активности своего окружения

Удобство использования

  • Upgraded PDF Export – улучшенных экспорт в формат PDF с возможностью создать титульную страницу, одержание, настроить форзацы и выбрать стиль для элементов документа (цвет, шрифт и проч.)
  • Major performance improvements – улучшения производительности:  +100% для Confluence, работающих в кластере и +40% для обычных исталляций.

Демонстрация возможностей новой Confluence (3:52):

Atlassian Plugin Exchange (http://plugins.atlassian.com/) – репозиторий расширений с возможностью управления расширениями непосредственно в админ-панели JIRA или Confluence.

Демо (3:00):

Подробности:

admin программное обеспечение , ,

Wikipedia: избранное

June 7th, 2009

Rob Matthews распечатал избранные статьи англоязычной википедии.
Получился томик на 5000 страниц:

wikipedia-feautured

wikipedia-feautured_2

admin фото , ,

commons-CLI: GNU, POSIX and Java-style command-line options syntax

June 6th, 2009

The Apache Commons CLI

http://commons.apache.org/cli/ – библиотека Apache Commons CLI предоставляет интерфейс (API) для разбора параметров командной строки, передаваемых программе при запуске, а также для печати информации о возможных параметрах запуска.

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

  • POSIX like options (ie. tar -zxvf foo.tar.gz)
  • GNU like long options (ie. du --human-readable --max-depth=1)
  • Java like properties (ie. java -Djava.awt.headless=true -Djava.net.useSystemProxies=true Foo)
  • Short options with value attached (ie. gcc -O2 foo.c)
  • long options with single hyphen (ie. ant -projecthelp)

Библиотека Commons CLI поддерживает все пять вариантов.

POSIX

Пользуясь широкими возможностями пакета commons-cli, нужно помнить: использование аргументов командной строки может привести к тому, что разрабатываемая программа перестанет быть портируемой (т.е. не будет Java-программой на все 100%)!

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

  • An option is a hyphen followed by a single alphanumeric character, like this: -o.
  • An option may require an argument (which must appear immediately after the option); for example, -o argument or -oargument.
  • Options that do not require arguments can be grouped after a hyphen, so, for example, -lst is equivalent to -t -l -s.
  • Options can appear in any order; thus -lst is equivalent to -tls.
  • Options can appear multiple times.
  • Options precede other nonoption arguments: -lst nonoption.
  • The -- argument terminates options.
  • The - option is typically used to represent one of the standard input streams.

Полностью POSIX-совместимыми являются такие операционные системы как AIX, HP-UX, MacOS X 10.5, MINIX, QNX, Solaris/OpenSolaris и др.(полный список).
Частично совместимые – FreeBSD, Linux (особенно использующие LSB), NetBSD, OpenBSD и др.(полный список).

Подробности

n0mer программирование , , ,

[ann] экспертная система Nigma.ru

June 5th, 2009

nigma.ru – онлайн-система, позволяющую как производить простейшие арифметические преобразования, так и решать математические задачи различной степени сложности. Также Нигма распознает более тысячи физических, математических констант и единиц измерения, что позволяет производить операции со множеством величин (в том числе решать с ними уравнения) и получать ответ в требуемых единицах измерения.

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

Пример – биквадратное уравнение c развёрнутым ходом решения:

nigma-biquadratic-equation

Подробнее о математических и лингвистических способностях нигмы можно почитать на сайте nigma.ru.

Что умеет nigma – http://nigma.ru/index_menu.php?action=click_menu&menu_element=math_task_list:

  • решать уравнения, в т.ч. с единицами измерения и математическими и физическими константами, а также системы уравнений
  • Конвертировать валюты
  • Раскладывать на множители числа и буквенные выражения
  • Находить наименьшее общее кратное и наибольший общий делитель чисел; определять взаимно простые числа
  • Вычислять модуль числа
  • Сравнивать числа (с пониманием математических констант вроде “пи”), сортировать числа по возрастанию и убыванию
  • Вычислять численные выражения, раскрывать скобки, сокращать дроби, упрощать буквенные выражения, упрощать тригонометрические выражения
  • Определять знак буквенного выражения (если возможно)
  • Представлять многочлен в виде квадрата
  • Приводить подобные слагаемые
  • Приводить дроби к общему знаменателю

Что понимает: http://nigma.ru/index_menu.php?action=click_menu&menu_element=math_phrase_list – фразы “Вычислить”, “Решить”, НОК, НОД, Сортировка (Упорядочить), Общий знаменатель, Делители, Модуль, Сравнить, Раскрыть скобки, Представить в виде квадрата, Привести подобные, Сократить, Упростить, Взаимно простые, Знак.

См. также заметку Wolfram|Alpha vs Google Squared

happy computing!

admin наука ,

[ann] Page Speed – оптимизация производительности вебсайта

June 5th, 2009

Page Speed – так называется новая пузомерка от Google, аналог YSlow и по сути надстройка над Firebug, позволяющая измерить параметры производительности вебсайта и получить советы и подсказки по оптимизации.

Подборка общих рекомендаций – Web Performance Best Practices (аналогичная страничка от Yahoo! называется Best Practices for Speeding Up Your Web Site). Вот что гуглоперцы рекомендуют:

  • Оптимизировать кеширование
  • Минимизировать время обработки запросов
  • Минимизировать размер запросов — уменьшения объёмов поступающих (входящих) данных
  • Минимизировать нагрузку на сервер путём уменьшения размера ответов, скачиваний, а также за счёт кеширования страниц
  • Оптимизировать рендеринг страничек — улучшения в области разметки страницы

Полезные ссылки:

deja-vu, huh? :)

n0mer программирование , , , , , ,

Wolfram|Alpha vs Google Squared

June 4th, 2009

Google Labs выпустили Google Squaredпоисковый инструмент, который поможет собрать воедино факты на любую заданную тему.

Возможности:

  • увидеть таблицу элементов и их аттрибутов
    разработчики назвали такие таблицы фактов словом “squares
  • настроить отображение, указав какие элементы (строки) и аттрибуты (столбы) показывать, а какие – нет
  • увидеть, какие вебсайты являются источником информации
  • сохранить подборку и поделиться ей с другими пользователями

К слову, Google Squared похож на сервис структурированных запросов Wolfram Alpha – программу вычисления знаний (computational knowledge engine), результат работы которой – выборка из собственной внутренней базы знаний.

О возможностей системы Wollram Alpha рассказывает её создатель, Стивен Вольфрам – британский физик, математик, писатель и бизнесмен, известный своими работами в таких областях как физика элементарных частиц, космология, клеточные автоматы, теория сложности и компьютерная алгебра, а также авторством программы Mathematica и собственно сервиса Wolfram|Alpha.

Видео (10:58)

YouTube Preview Image

Факты:

  • Wolfram|Alpha – это 5 миллиноно строк кода на Mathematica (с использованием webMathematica и gridMathematica), которые работают на 10,000 CPU, база знаний, NLP-движок и библиотека алгоритмов
  • webMathematica – продукт, позволяющий веббраузеру выступать в роли интерфейса к удалённому Mathematica-серверу и запускать Mathematica-скрипты на любой платформе.
    Пример работы : ctg (Pi/2) ≈ 0
    webmathematica
    http://functions.wolfram.com/ElementaryFunctions/Cot/ – обзор функции котангенса
    http://functions.wolfram.com/webMathematica/FunctionEvaluation.jsp?name=Cot – онлайн калькулятор, позволяет вычислить значение функции котангенса для любого аргумента
    http://functions.wolfram.com/ElementaryFunctions/Cot/09/0001/ – представление котангенса в виде ряда, плюс возможность скопировать эту формулу во внутренних форматах Mathematica (Input Form, Standard Form и Rule Form) или в MathML-формате:

    утилита mathmlcentral.com от Wolfram Research умеет генерировать GIF, JPEG и даже xHTML по MathML-коду; есть даже возможность сгенерить случайным образом выбранную формулу (кнопка “Random URL“)
  • gridMathematica – дополнение к Mathematica, расширяющая её возможности параллельных вычислений

Подробности:

  • http://www.google.com/squared/
  • http://www.wolframalpha.com/
  • http://functions.wolfram.com/
    По состоянию на июнь 2009 сайт webMathematica содержит 304,409 формул и 10,828 визуализаций, причём здесь есть даже информация о функциях, которую они ещё в свою CAS не встроили.
  • http://mathworld.wolfram.com/
    MathWorld – постоянно обновляемый набор интерактивных математических статей, созданных и поддерживаемый Эриком Вайштайном. Проект спонсируется компанией Wolfram Research Inc. (автор Mathematica) и частично грантом “National Science Foundation’s National Science Digital Library” университету “University of Illinois at Urbana-Champaign”.

n0mer анонс, наука , , ,