Страницы

Пользователи отворачиваются от WEB-приложений. Kalpa - наш выбор.


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

Описание технологии 
Слайды Доклада

Заказчик Шредингера.

Маленькие российские фирмы, заказчики ПО, очаровательны в своей непосредственности.

Их представителям всегда кажется, что создавать программы просто и что для описания ТЗ достаточно пары устных предложений рядового сотрудника с фразой - "Ну ты же понимаешь" посередине. Что софт не может стоить дорого. Цена контракта в 60 тыщ рублей для заказной разработки управленческого софта с документооборотом на 20 рабочих мест считается чрезмерно завышенной. Особенно занятной становится ситуация, когда заказчик интуитивно начинает понимать необходимость автоматизации, но не осознает стоимость таких решений.

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

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

Одно плохо! Проблемы с управлением на фирме сохраняются.

К чему это я? К вопросу.
Сколько бы ваша фирма смогла бы заплатить, ну скажем, за систему документооборота  с договорами, актами и прочими очевидностями но предоставляемую на условиях аренды? 

Сколько рублей за одно рабочее место в месяц?

Опять о жизни.

Никак не дает мне покоя одна мысль.

Вот есть социальные сети и даже объединяют они многих, но как-то толку в них мало. Ну поговорили, поглядели на забавных котиков. Скучно. 

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

А ведь хочется иного! Хочется не просто болтать, рассматривать котиков. Хочется использовать социальные инструменты для  решения неких практических задач. Хочется проактивности. Хочется чтобы система активно помогала мне решать мои задачи и делала это незаметно, тактично. А задач у нас много. И как их эффективно решить не всякий точно знает, да и решений некоторых задач пока нет.

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

И задумался я и думаю до сих пор. Ведь вопрос организации жизни, формирования активного стиля жизни так еще и не решен. А решать надо.


А вы что думаете?


Kalpa+Android=

Дорогие друзья!
Завершены работы по портированию KalpaCloud на платформу Android. Спешу сообщить, что все работает и работает предсказуемо.

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

Блеск и нишета #Linux

Если посли установки нового kde 4.6 у вас перестали монтироваться флешки и ругань приблизительно вот такая
org.freedesktop.UDisks.Error.PermissionDenied
 
Надо в файле 
/usr/share/polkit-1/actions/org.freedesktop.udisks.policy
 найти 
<action id="org.freedesktop.udisks.filesystem-mount">

и поменять 
<allow_any>no</allow_any>
на
<allow_any>yes</allow_any>

Posted via email from Oleg Shalnev

Немного о Clang

Выход каждой новой версии LLVM+Clang возбуждают старый диалог о ненужности этого инструмента в мире где безраздельно владычествует gcc. Ведь что нужно от компилятора? Чтобы переводил с одного языка на другой, понятный компьютеру, чтобы ошибки показывал, да пооптимизировал что-нибудь где-нибудь. Подавляющему большинству разработчиков этого вполне достаточно.
Но давайте немного представим что будет если для разработчика будет доступен семантический слой своего же программного кода на этапе исполнения. Что будет если программист будет владеть более полной информацией о программе чем смехотворно куцый RTTI? Разве это не изменит облик программирования? Разве это не даст новые уникальные возможности? Разве это не позволит  заново переосмыслить принципы построения систем объектного брокеринга, систем клиент-сервер, маршаллинга типа, интраспекции и самой логики работы с данными в базах данных? Разве это не даст новый толчок к созданию новых систем разработки интеллектуального пользовательского интерфейса? А какие перспективы этот подход сулит для разработчиков IDE, какие просторы для рефлексивного самоанализа и верификации программных систем, корректный и встраиваемый интерпретатор C++? В мире gcc подобные фантазии не рассматриваются в силу определенных исторических стереотипов.
На самом деле понимание необходимости подобных усложнений было давно. В мире Ada давно активно используется слой семантического представления, но в мире С++ таких излишеств не наблюдается. 
Существует успешная попытка нашего соотечественника - Евгения Зуева создать подобный инструмент для мира С++. Его мысли воплощены и продолжают развиваться в компиляторе переднего плана, который существует как основа корпоративных проектов фирмы Интерстрон. На страницах сайта фирмы мы и можем читать о всех тех волшебствах которые сулят нам технологии семантического слоя компилятора переднего плана. А статья о истории его создания сама по себе интересна. Но увы. Видеть и пробовать этот удивительный инструмент мне не довелось. Разработка закрыта. Фирма Интерстрон специализируется на создании микропроцессорной техники и я даже не знаю существует ли версия удивительного компилятора Зуева для традиционных Unix систем. Что нам остается? Сожалеть о невозможности испытать нужный инструмент и выражать глубокое уважение его автору. (Насколько я знаю Евгений Зуев ныне профессор университета города Цюриха, где готовит европейских компиляторщиков)
Однако понимание необходимости семантического уровня конечно остается и, собственно именно для решения поставленных ранее задач, и был инициирован проект LLVM+Clang. Насколько я понимаю полного цикла поддержки семантического уровня пока нет. Мне еще предстоит с этим разобраться, но то, что компилятор разделен на возможные для стороннего использования динамические библиотеки и существует самостоятельный AST слой, вселяет колоссальные надежды. Даже если в процессе сборки не создается полная и доступная из рантайма нотация программы, ее уже сейчас можно создать самостоятельно используя существующие в clang инструменты.
До версии 2.7 clang был еще экспериментальной разработкой, но после 2.8 clang стал рабочим инструментов. С помощью 2.8 я без замечаний собрал Qt4.7 с ключами (-no-pch -no-3dnow), собрал QtCreator и KalpaWorld возрадовавшись значительному приросту производительности и очаровательной диагностике. Команда clang сдержала свои обещания и добилась совместимости с gcc. Qt и QtCreator я собирал связкой llvm+clang(НЕ llvm-gcc) со стандартными спеками gcc. Теперь я намерен использовать llvm+clang для ежедневного процесса разработки и поиска новых форм работы с С++ в рамках проекта Kalpa.
Конечно этот инструмент еще предстоит настраивать, обучать и доводить до нужной кондиции, но уже сейчас можно смело утверждать, что с приходом clang 2.8 для мира C++ открываются новые, совершенно потрясающие горизонты, которые еще предстоит освоить и изучить. 

Не будите программиста!

Работа программиста - это СОН.

Звучит нелепо, правда?

Если вы хотите представить что именно делает программист во время работы, то легче всего это представить именно так. Он спит!

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

Это вы думаете что программист взял задачу, написал программу и задача решилась. Всё не так.

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

Для решения задачи программисту приходится стать в своём сознании и лабиринтом, и искомым выходом, и заблудившейся девочкой, и тем перстом что ведёт её куда-то, и теми камушками которые она разбрасывает по дороге чтобы узнавать уже пройденные места. Всё это СНИТСЯ программисту во время работы.

Я не фигурально выражаюсь. Это БУКВАЛЬНО снится. Программист при решении задачи виртуально живёт в создаваемом мире химер, похожих каким-то образом на условия решаемой задачи.

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

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

Вот тоже самое и в работе программиста. Процесс начала работы это тоже самое. Программист не может просто сесть и начать работать точно также как вот вы не можете сказать себе "СПИ УЖЕ СКОРЕЙ!" и отключиться. И общего какого-то способа тоже нет, как нет его в ритуале засыпания.

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

Это ведь ещё и меняется со временем. Сегодня вот вы легли спать и всё - уже сладкие грёзы. А завтра ворочаетесь час, два, три и ну никак. Тоже самое и в работе программиста. буквально тоже самое.


Ну и что делать всвязи с этим?

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

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

Представили?

Вот это именно так выглядит для нас - программистов. БУКВАЛЬНО ТАК.

Это вам со стороны кажется что вы просто подошли и спросили который час.

А давайте я вас подойду и спрошу в три часа ночи который час?
Чего страшного-то? Ну и что такого что вы только что заснули?
Я просто спрошу, вы ответите и спите дальше. Чего такого-то?

Так легче понять я думаю будет. На таком примере.

Вот вы представляйте что от вашего сна зависит ВСЁ! Всё при всё. Вот от того как вы сегодня поспите зависит будет завтра чего дома жрать или нет. Зависит будет ваша дочть замужем или нет. Вырастет ваш сын неудачником или добьётся чего-то в жизни. Всё это зависит от того как продуктивно вы сегодня поспите.

Представили?

И вот вы собираетесь начать этот сон. Этот вот самый сон от которого ВСЁ зависит и вы это отчётливо осознаёте.

Скажите вот теперь. Как насчёт спать и одновременно немножко, краем глаза разговаривать, чуть чуть помогать сыну решать арифметику, немножко подглядывать в телевизор и чуть чуть так совсем немного съездить в магазин? Не на долго...

Как спится, сладко?

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

Вы бы так смогли КАЖДЫЙ ДЕНЬ?

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

Хотите?

Призодите работать программистом в нашу контору. Получите в полной мере!

Хотя не всё так трагично. Конечно есть люди которые способны кимарить просто постоянно. Водители такие бывают что чуть-ли не на каждом сфетофоре способны чуток вздремнуть. Ну вы знаете - им чуть бибикнуть приходится чтобы вернуть к жизни. Наверняка вы знакомы с такой ситуацией.

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

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

Ну потому что отвлекают постоянно. Потому что БУДЯТ же бля постоянно! Потому что люди не понимают что ты же спишь и что их ебучая менеджерская "организационная" активность она на самом деле только мешает работать. Большинство людей НЕ программистов этого не понимают.

Я надеюсь что осознав аналогию работы программиста со сном может быть люди лучше поймут как надо обходиться с программистами и откуда вообще берутся хорошие программы. Поймут наконец что вот этот ебучий ЖЖ - это то что пишу и читаю ПЕРЕД СНОМ. Вот также как вы. Вы не можете спать пока неначитаетесь или пока телевизор не насмотритесь. Не можете ведь?

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

Хотите хороших программ?

Хотите чтобы ваш муж-программист был успешен и заработал все деньги?

Хотите чтобы ваши подчинённые программисты наконец-то сделали всё как надо?

Тогда вот вам простой рецепт:

НЕ БУДИТЕ СЛИШКОМ ЧАСТО ПРОГРАММИСТА!

Posted via email from Oleg Shalnev