• У Microsoft Project появится Open Source-конкурент — OpenProj

      Компания Projity, занимающаяся продажами программного обеспечения для управления проектами собирается на следующей неделе в рамках конференции и выставки LinuxWorld представить свой Open Source-продукт OpenProj.
      По словам исполнительного директора Projity, Марка О'Брайана (Marc O'Brien), проект OpenProj призван стать достойной альтернативой Microsoft Project, которая «действительно откроет дорогу всему программному обеспечению с открытым кодом».
      Сообщается, что уже ведутся переговоры с OpenOffice.org по вопросам интеграции с этим открытым офисным пакетом, а на данный момент OpenProj поддерживает чтение файлов в формате Microsoft Project. Кроме того, О'Брайан надеется на помощь Open Source-сообщества по интеграции OpenProj с популярными системами CRM (управление взаимоотношениями с клиентами) и ERP (управление предприятием) с открытым кодом, а также по созданию локализаций.
      Пока неизвестно, под какой лицензией будет распространяться OpenProj, за исключением того, что она будет относиться к одобренным организацией OSI (Open Source Initiative). Помимо Linux-версии OpenProj ожидаются пакеты этого программного обеспечения для Macintosh и Windows.

      zdnet.com
    • Установка Windows XP на Ubuntu используя VMware Player

        Поставил себе Убунту.
        Но возникла проблема, что Win мне все же нужен, т.к. есть достаточно рабочих програм, которы не работают под Линукс.
        Пробовал использовать Wine, но это оказалось дурацкой затеей. Некоторые программы не запускались, а некоторые запускались, но не работали, как надо.
        Читать дальше →
      • Электронный бизнес 2.0

          Электронный бизнес 2.0
          Что мы знаем об электронном бизнесе? Корпоративный сайт – это уже электронный бизнес? А интернет-магазин? Попробуйте сделать запрос в поисковых системах, и вы много узнаете о центрах электронного бизнеса, но найти информацию о самом электронном бизнес окажется не так уж просто. Большинство веб-разработчиков по-прежнему ограничиваются шаблонными решениями: представительский сайт, каталог, электронный магазин и т.д. Но достаточно ли того чтобы построить эффективные решения для электронного бизнеса?
          Читать дальше →
        • Упрощение жизни программиста с vim + vim-slime + tmux

          Эта публикация рассказывает о том, как экономить время при разработке для Clojure и NodeJS, а также Bash скриптов, посылая текст из vim в REPL, c использованием tmux + vim + vim-slime. Также приводятся рецепты с nodemon.

          Скорее всего, vim-slime сработает и для других интерпретируемых языков (Ruby / Python / PHP / Perl ...). vim-slime также работает со screen.
          На хабре достаточно освещались и vim, и tmux. Я только хотел показать, что можно получить от их комбинации.
          Добавление от Fikys: с Ruby работает.

          Если вы знаете vim и tmux, и вам интересен только vim-slime — прыгайте сразу ко второй секции.

          Вступление


          Мы все стремимся быть производительными. После того, как код написан, мы хотим узнать, работает ли он и получить обратную связь. Мы придумали много способов ускорения обратной связи: статическое выведение типов при компиляции и в IDE, юнит-тесты, интеграционные тесты, REPL, LiveReload и т.д.

          Для моих небольших проектов я использую связку REPL и юнит-тестов, что позволяет получать обратную связь мгновенно.

          Я веб-разработчик. По работе и в своем проекте обычно я делаю фронтэнд и стыкующуюся с ним часть бэкэнда. В течении рабочей сессии я пишу PHP, phtml, Stylus, css, Coffeescript, Javascript, + sql запросики и пуши в гит; что обеспечивается связкой tmux и vim. Также есть пара маленьких проектов на CoffeeScript, для которых используется комбо tmux + vim + vim-slime + Coffeescript REPL. В проектной сессии увязываются Сlojure, CoffeeScript, Stylus; tmux + vim + vim-slime + Clojure REPL. Под катом я расскажу об трех сетапах для трех окружений.
          Читать дальше →
        • [Перевод] Новости из мира Node: Tint, Redbird

          • Translation

          Tint


          image

          Сегодня можно констатировать взлет такой под-области node-ориентированных разработок как написание десктопных приложений на node-webkit или похожих фреймворках. Идея такого подхода выглядит достаточно просто: запаковываем среду исполнения Node вместе с небольшой программой, которая предназначена для запуска вашего Node приложения как если бы оно было родным, десктопным.

          Кому интересно, прошу в подкат
        • Атом — минимальный кирпичик реактивного приложения

          Здравствуйте, меня зовут Дмитрий Карловский и я… клиент-сайд разработчик. За плечами у меня 8 лет поддержки самых различных сайтов и веб-приложений: от никому не известных интернет-магазинов, до таких гигантов как Яндекс. И всё это время я не только фигачу в продакшн, но и точу топор, чтобы быть на самом острие технологий. А теперь, когда вы знаете, что я не просто хрен с горы, позвольте рассказать вам про один архитектурный приём, которым я пользуюсь последний год.

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

          Осторожно: чтение может вызвать вывих мозга, приступ холивара, а также бессонные ночи рефакторинга.
          Читать дальше →
        • Удаленная работа с видом на море и горы: личный опыт в Черногории



            Земным раем для фрилансеров и удаленщиков традиционно считается Таиланд, для меня же таким местом стала Черногория. Вторую весну подряд я на три месяца перебираюсь со своей семьей в Будву, городок на побережье Адриатического моря, и работаю оттуда удаленно. О том, почему именно Черногория и к чему надо быть готовым в этой стране, я и хочу рассказать.
            Читать дальше →
          • Как я возил робота, чуть не поседел и залил кровью серверную

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


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

              Часть 1. Коробка


              Помню, стояли последние дни ноября. Уже думая об окончании рабочего дня, я планировал свой вечер, когда вдруг мне сообщили, что в славном сибирском городе N у нашего заказчика сломалась ленточная библиотека. Запчасть сразу же отправили транспортной компанией, но вот уже 3 дня, как она все еще была в пути. Транспортная компания невнятно объяснялась и хмыкала в телефон, а заказчик стал не в шутку нервничать. Прогнозы были неопределенные, поэтому было принято решение везти еще одну запчасть своими силами на самолете. Сотрудник склада вручил мне габаритную коробку весом килограмм десять, обклеенную штрих-кодами и стикерами, и радостно хлопнул меня по плечу со словами: «Только не вздумай в багаж сдавать — помнут».

              Коробка меня, безусловно, беспокоила, но не меньшее беспокойство мне внушал пакет с сухим молоком, который в последний момент мне вручил менеджер проекта. «У них там какие-то траблы с молочкой сейчас… из-за непогоды что ли… ребята местные просили 2 кг им привезти. Тебе ж не сложно?» — сказал он. По выражению его лица и характерному жесту ладони, как бы прикрывавшей мне рот, было ясно, как он сейчас хотел, чтобы я оказался сговорчивым или даже немым.
              Читать дальше →
            • Съёмка показаний счетчика на телефон с последующим распознаванием

              Вступление


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

              Возможно, так ведут себя не все котлы, но наш отключается даже при кратковременном перебое с подачей газа и не включается обратно, если подача восстановится. Если кто-то есть дома, то это не проблема, нажал кнопку и котел греет дальше, но если вдруг так сложилось, что мы решили всей семьей поехать в отпуск, а на дворе зима, хорошая такая, чтоб -20°C, то последствия могут быть плачевными.

              Решение простое — оставить ключи родственникам/друзьям/соседям, чтобы они могли приехать и включить котел, случись какая-нибудь неприятность. Хорошо, если есть сосед, который будет каждый день заходить и проверять, всё ли в порядке. А если нет? Или он тоже решит уехать куда-нибудь на выходные?

              Итак, я решил наладить выкладывание показаний счётчика куда-нибудь в Интернет, чтоб я мог находясь где-нибудь в дальней поездке периодически проверять, тратится ли газ, а если вдруг перестанет тратиться, то срочно звонить родственникам/друзьям/соседям (или кому там я оставил ключи), чтобы приехали и нажали кнопку.

              Конечно, после простого выкладывания показаний в Интернет я решил не останавливаться на достигнутом и замутил ещё распознавание показаний и графическое представление, об этом читайте в части 2 данного топика.
              Читать дальше →
            • эффективное использование vim: «from the very begining»

                «Для меня vi это Дзен.
                Использование vi — это практика дзена.
                Каждая команда является коаном.
                Полный смысла для пользователя,
                Бессмысленный для непосвященного.
                Вы познаете истину каждый раз когда вы его используете.»
                --reddy@lion.austin.

                на сколько хорошо ты знаешь язык vim?
                посмотри на клавиатуру,
                можешь ли ты сказать что выполняет каждая буква?
                как много ты знаешь?
                как много используешь?


                эффективное использование vim
              • XKB: перенастроим клавиши под себя любимого

                  В один прекрасный день надоедает нажимать Shift, чтобы вывелся символ ~ вместо `.
                  Надоедает тянуться до Esc, при этом клавишей CapsLock пользуетесь РЕДКО.
                  Надоедает смещать кисть вниз и нажимать Ctrl/Cmd/Win слабым мизинчиком, либо, не дай бог, тянуться до них большим пальцем.
                  Надоедает лезть за PgUp, PgDn, Home и End, двигая руку каждый раз, чтобы всего лишь промотать страницу вниз.
                  Надоедает каждый раз, когда вы делаете опечатку, со злобой смотреть на клавиатуру в поисках кнопки Backspace.



                  Сегодня мы узнаем, как навсегда избавиться от этих мучений.

                  Зачем это всё?


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

                  Многие раскладки для печати (Dvorak, Colemak и т.п.) сильно улучшают расположение клавиш, ставя их ближе к тем местам, куда нужно меньше тянуться. Но при этом совершенно забывают о модификаторах, спец. символах и командных клавишах (Enter, Backspace, Tab, Esc, Delete). А мы подумаем о том, как улучшить существующее положение вещей.

                  В статье пойдём от простейших изменений, до более интересной и глубокой настройки. И, как в конце хороших фильмов, я оставлю читателя подумать, что делать дальше, и не дам готового рецепта на всё. В конце концов, идеальных и универсальных решений нет, и на раскладку клавиатур товарищей нет.
                  Читать дальше →
                • named pipes в Unix

                    Я давно читал про них, ещё когда учился основам юникс, но как-то не было нужды с ними работать. И, вот, нужда возникла.

                    Некая программа (допустим, foo) не умеет писать вывод в stdout, только в файл. Даже "-" в качестве имени файла всего лишь создаёт файл с названием "-" [большинство умных программ под unix знают, что одиночный минус вместо имени файла означает вывод в stdout]. Аналогично она отвергает и /dev/stdout.

                    Другая же программа, обрабатывающая результаты первой, допустим, bar, читает из stdin и пишет в stdout. (если быть точным, первое — это трейсер специального вида, дающий двоичный дамп, а второе — конвертор, печатающий их же в человекочитаемом виде).

                    Нужно их объединить в конвеер.

                    Некрасивый вариант — использование обычного файла. Записал, прочитал.

                    Есть куда более красивый вариант — это именованные пайпы. Так как у пайпа есть имя, мы можем передать его как файл первой программе, а потом передать содержимое другой.

                    Выглядит это так:

                    mkfifo mypipe
                    cat mypipe | bar &
                    foo mypipe&
                    rm mypipe
                    

                    Читать дальше →
                  • iOS8 — Новая политика подключения к WiFi

                    Вчера в сети появился скриншот сетевой политики в iOS8.



                    На первый взгляд ничего интересного для обывателей. Но последняя строчка дает понять, что в iOS8 при сканировании WiFi сетей телефон будет генерировать случайные MAC адреса, тем самым не давая зацепок для так называемого «сетевого профиля» — когда ваше перемещение можно отследить по статистике переходов от точки к точке.

                    Читать дальше →
                  • Исследуем JavaScript Generators

                    • Translation
                    • Tutorial


                    Когда я начинал писать на node.js, я ненавидел две вещи: все популярные шаблонизаторы и огромное количество callbacks. Я добровольно использовал callbacks, потому что понимал всю силу событийно-ориентированных серверов, но с тех пор в JavaScript появились генераторы, и я с нетерпением жду день, когда они будут имплементированы.

                    И вот этот день наступает. На сегодня генераторы доступны в V8 и SpiderMonkey, имплементация следует за обновлениями спецификации — это заря новой эры!
                    Читать дальше →
                  • Classcraft превращает школьные уроки в огромную ролевую игру — с условно-бесплатной моделью

                    • Translation
                    Класс Шона Янга (Shawn Young) состоит из воинов, магов и лекарей. Воины могут есть в классе, маги способны телепортироваться с лекций, а лекари спрашивать, правилен ли ответ на экзамене. Это не фантастика в духе Dungeons & Dragons. Прямо сейчас так учатся более 7000 детей в 25 странах мира. Янг, учитель физики старших классов, три года разрабатывал и улучшал школьную ролевую игру Classcraft, которая, по его словам, способна помочь отстающим студентам.

                    Пока Classcraft бесплатен, но осенью в нем будет введена условно-бесплатная система оплаты, напоминающая множество мобильных игр и проекты вроде League of Legends или Runescape. Это должно привлечь внимание образовательной системы, привыкшей к строгим бюджетам и попользовательской оплате образовательных программ, особенно когда ее сотрудники осознают, что ученики будут покупать доспехи и питомцев для своих Classcraft-аватаров в iTunes


                    Classcraft обновляется прямо на уроках, по мере использования учениками своих способностей
                    Читать дальше →
                  • Разработка Iframe приложений на VK API. От первых шишек до двухмиллионной аудитории

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

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

                    Работать с javascript API Вконтакте просто до безобразия. Нужно лишь подключить файл xd_connection.js, инициализировать VK API, и делать запросы не чаще трех раз в секунду. Также стоит отметить, что и безо всяких запросов Вк передает в Iframe много необходимых параметров в виде объекта flashVars. Из него можно вытащить id пользователя, токен, упрощающий авторизацию пользователя на стороннем сервере, язык интерфейса и другие нужности.
                    Читать дальше →
                  • Социальная сеть без сервера. История разработки iOS-клиента и backend

                      Интро


                      Я хочу рассказать об опыте разработки iOS-клиента для социальной сети и бэкенда реализованного с помощью BaaS Parse.com Нижe приведена архитектура, которая у нас получилась, некоторые tips&tricks и размышления по поводу работы с parse.com.
                      Изначально клиент думал о сервере на RoR, но, видимо, они не рискнули вкладывать сразу много денег. Мы подписали строгое NDA, поэтому ссылку на Appstore я дать не могу. По доброй традиции всех IT книг, хочу выразить благодарность заказчику Х и компании Y за то что мне довелось поработать над этим проектом и подчерпнуть весь этот опыт. Также спасибо А. за то, что написал часть про модуль для встроеных покупок.
                      Читать дальше
                    • Дэн Саффер — Микровзаимодействия (Microinteractions). Конспект книги

                      • Translation
                      • Tutorial
                      Microinteractions book cover«Детали — это не детали. Они создают дизайн.» — Чарльз Имз.

                      Успех цифровых продуктов определяется мелочами. Книга «Микровзаимодействия» Дэна Саффера научит вас проектировать эффективные функциональные элементы. А этот подробный конспект поможет лучше запомнить прочитанное или даже заменит англоязычный оригинал.

                      Как пользователю изменить настройку? Как включить бесшумный режим или узнать о получении нового сообщения?

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

                      Читать дальше →
                      • +49
                      • 36.5k
                      • 2
                    • Инкапсуляция CSS-стилей — Часть 1. Проблема

                        Главным драйвером роста веба на рубеже тысячелетий было потребление контента. Сайты создавались для предоставления своим посетителям какой-либо полезной информации или развлекательного содержимого. Но в последние годы резко выросло значение веб-ресурсов, предоставляющих пользователям сервисы генерации контента (текстовые и графические редакторы, электронные таблицы, мессенджеры и т.п.). Это вызвало трансформацию сайтов в одностраничные приложения и миграцию в веб сложных интерфейсов, которые ранее были прерогативой прикладных программ.
                        Читать дальше →
                      • Как собрать WhatsApp за сутки. Часть 1



                        Здравствуйте, дорогие читатели Хабрахабра!

                        В этой серии статей я расскажу, как быстро и почти безболезненно поднять свой собственный WhatsApp под iOS. Статью делю на две части для вашего удобства:

                        1. Создание проекта, простой UI, привязка к сервису мгновенных сообщений
                        2. Делаем красивый UI, добавляем видео и аудио звонки, передачу фото и документов

                        К сожалению, пособие о том, как набрать 400 000 000 пользователей и продать сервис за 19 Инстаграмов, затерялось где-то на книжной полке. Постараюсь его найти, если кому интересно.

                        Заинтересовавшихся прошу под кат.
                        Читать дальше →