пятница, 28 декабря 2007 г.

SSH Filesystem

sshfs - утилита, которая позволяет примаунтить директорию на сервере. Все, что надо от сервера - это поддерживать SSH File Transfer Protocol. Все, что надо пользеватетю - установить FUSE(фреймворк виртуальных файловых систем) и sshfs. После установки достаточно создать точку монтирования и запустить команду:
Для размонтирования:
Have a lot of fun!

BPEL Learning Guide


BPEL Learning Guide

Установка/удаление переменных окружения

Установить переменную окружения можно командой export VARNAME=VARVALUE (оболочка bash). Что бы посмотреть, установленна ли она используется команда env (printenv), например так: env | grep VARNAME. Удалить можно либо командой unset VARNAME либо командой export с ключем -n: export -n VARNAME.

ActiveBPEL

Пытаюсь установить ActiveBPEL (open-source реализация бипля). Сам исходник - 20 метров, но такая куча зависимостей!!! :-| Уже скачал дополнительно 150 метров - и это еще не конец!!! Мало того - теперь еще и версии не совпадают :(

четверг, 27 декабря 2007 г.

Как звучит WSDL

From Wikipedia:

Web Services Description Language (WSDL, pronounced 'wiz-dəl' or spelled out, 'W-S-D-L')

Автоматизация бизнес-процессов с помощью BPEL

Автоматизация бизнес-процессов с помощью BPEL - интересная статья о BPEL(читается как "бипль"). В статье показано, какое место занимает бипль в структуре стандартов и спецификаций веб-сервисов и даны два примера использования бипля для разработки простых SOA на базе веб-сервисов (кстати, SOA не на базе веб-сервисов я еще не встречал). Но примеры, к сожаленью, действительно очень простые и описаны вкраце. Хотелось бы понять, как BPEL связан с WSDL на практике (в это я как раз сейчас разбираюсь):

Полный вариант BPEL-файла для процесса определения цены должен, конечно, содержать также соответствующие блоки взаимодействия с Web-сервисами торговых партнеров и код логики выполнения переходов и простейших вычислительных операций (например, выбора наименьшей цены). Дополненный WSDL-файлами (для описания внешних Web-сервисов), он будет представлять собой законченную программу "оркестровки" Web-сервисами.

Conductor

В английском языке слово conductor означает не только кондуктора, но и дирижера:

The orchestration and the choreography distinctions are based on analogies: orchestration describes central control of behavior as a conductor in an orchestra...

среда, 26 декабря 2007 г.

Linux vs Windows

Собравшись с духом решил окончательно перейти на Linux на рабочей машине. Экперементировал я с ним уже давно и при помощи виртуальной машины запускал частенько, но время Ч - время координальных перемен :) - наступило только сейчас. Долгое время меня останавливало то, что нужно напрячься и найти замену MS Outlook (именно его, потому что нужен календарь с аппоинтментами), MS Office Communicator, баг-трекеру; настроить работу с двумя мониторами и настроить работу с сетью.


  • использовать виртуальную машину для запуска Windows и использование нужного софта непосредственно в Windows;
  • найти Linux-аналоги нужного мне Windows-софта;
  • использовать для запуска виндового софта wine.

В качестве виртуальной машины очевидно было попробовать старый добрый VMware. Он с легкостью подхватил Windows из указанной партиции и начал его грузить, но буквально сразу экран стал синим и началась перегрузка - и так до бесконечности. Как я понял, проблема была с драйверами и она решалась, но после этого проблематично было бы загрузить Windows не из под виртуалки, а не еще не готов на столь тесные отношения с линаксом (кстати, по поводу произношение линукс или линакс можно почитать здесь). Поэтому вместо VMware пришлось использовать VirtualBox. Windows благополучно заргузился, но при этом благополучно загрузился процессор и работать стало не возможно. Поигравшись с настройками, удалось достичь полного загруза памяти, при более-менее свободном процессоре, что так же не позволяло комфортно работать. Возникает вопрос, почему тогда под виндой линакс, запушенный в виртуальной машине, работал довольно шустро.

Затем я попробовал найти замену MS Outlook. Для этого довольно не плохо подошол Evolution. Я даже пол дня им пользовался: с exchange server'ом работает, письма шлет, аппоинтменты принимает. Но без проблем не обошлось. Во-первый, каждый раз при проверке почты на сервере вылазило окошко с паролем, сколько бы я не клацал по галочке "сохранить пароль". Во-вторых, не удалось загрузить адресную книгу. В-третьих, не смотря, на то что Outlook далеко не шустрая программа, Evolution работала еще медленее, при это довольно еще иногда висла при закрытии. Попытался поставить более новую версию - не получилось, т.к. потребовалось обновление еще кучи софта. Пытаясь автоматизировать этот процесс, заметил, что ни YaST, ни zypper не хотят работать с удаленными репозиториями. На форумах нашол, что это так же лечится обновлением, но обновление потянуло за собой обновление зависимостей.

Последняя надежда была на wine. Для начала решил попробовать на qip и winamp - не заработали. Обновив wine, удалось запустить winamp. Осталось теперь всего лишь установить и запустит IE с Outlook. Тут возникло столько траблов, что в двух словах и не опишешь. Пробовал так же wine-doors, wine-tools, обновлял последние версии из репозиториев, но за 2 дня так и не удалось установить IE6.

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

И вот перегрузившись опять под Windows, сижу и думаю, а стоит ли использовать Linux, если он такой не юзер-френдли :) На самом деле, желание у меня не пропало. Похоже нужно сначала много чего почитать. Ведь я помню время, когда настройка внутреннего модема в винде занимала неделю. Но является ли сложность линакса его достоинством, о чем так любят говорить нелюбители виндовса? Да, конечно хорошо понимать что ты делаеш, но если пониманием хотелось бы заняться в свободное время, а не вместо выполнения основной задачи.

Read More...

четверг, 20 декабря 2007 г.

Правда и wikipedia

Находясь под впечатлением от статьи Об истине и демократическом выборе – размышления о статье «Почему вы не можете цитировать Википедию в моем классе», решил написать свои размышения о википедии (размышление над размышлениями о статье :))

К написанию статей, научному руководству и редактированию с самого начала привлекались крупнейшие ученые страны, и это стало обычной практикой на все дальнейшие годы. Первое издание БСЭ готовилось при непосредственном руководстве и участии Н. И. Бухарина и других видных партийных деятелей...
Тем не менее, авторам и редакторам энциклопедии удалось сосредоточить в ней поистине всё богатство знаний, накопленных человечеством за тысячелетия. Зачастую она была единственным источником адекватной информации о самых различных предметах, событиях и людях для советского человека, и - тем самым - превратилась в одно из ярких и многогранных, в своем роде «культовых», явлений советского времени...
Сведения, собранные в БСЭ, в подавляющем большинстве сохраняют свою актуальность и сегодня. То же, что «устарело», представляет собой непреходящий исторический интерес. Признанием информационной ценности БСЭ может служить тот факт, что в 1973-1983 годах известное англо-американское издательство «Macmillan» предприняло перевод и издание энциклопедии на английском языке ещё задолго до завершения оригинального издания на русском. Оба проекта осуществлялись параллельно, «английские» тома регулярно выходили вслед за «русскими»...
Крупнейшие ученые страны под централизованным управлением. Весомый аргумент, действительно трудно ставить под сомнение то, что они написали. Единственный неприятный момент - это устаревание информации. Имея бумажный вариант энциклопедии практически нереально отслеживать акутальность информации и новейшие знания в некоторой области. Получается, что за достоверность приходится платить актуальностью. Хотя если считать энциклопедию источником фундаментальных знаний, дающим базовые сведения о вопросе, то об актуальности можно и не вспоминать.

Примерно тоже самое можно сказать и о детской энциклопедии (у меня все том до сих пор стоят на полке), иллюстрированном энциклопедическим словаре и т.д. Эти истоники можно назвать достоверными, "правдивыми". Вот их-то и можно поставить вместо многоточия.

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

По поводу первого, я абсолютно согласен, особенно учитывая личный опыт - сам одно время пытался писать статьи на темы, которые с одной стороны не очень популярны, с другой стороны - я не являлся сцециалистом в них (читал из разных источников, немного переваривал и писал на википедии; судя по логам, после меня их никто не правил, поэтому их точно нельзя назвать достоверными). Но, в тоже время, не зависимо от способностей авторов, большинство статей содержат ссылки на источники. Если под рукой есть интернет, мало кто полезет искать ответ в БЭС. И даже если не доверять википедии, не факт, что другие источники, найденные в интернете, окажутся более достоверными.

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

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

чем больше писал, тем больше пропадало желание писать дальше

Read More...

среда, 19 декабря 2007 г.

Multiple X Screens

Наконец-то настроил поддержку двух мониторов под Linux'ом (openSuse 10.2) на рабочей машине. Все оказалось предельно просто - достаточно было прочитать доку с сайта nVidia Appendix G. Configuring TwinView и Appendix P. Configuring Multiple X Screens on One Card, а потом запустить nvidia-xconfig.

вторник, 18 декабря 2007 г.

B1

Урааааааа! Сегодня получил американскую визу B1! Всего 3 часа возле посольства на морозе и минуты 2 на собеседование :)

понедельник, 17 декабря 2007 г.

Интересная циата о теории и практике

In theory, theory and practice are the same. In practice, they are not.
Lawrence Peter Berra

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

пятница, 14 декабря 2007 г.

SOA in Practice: The Art of Distributed System Design


Только что нашол и скачал книгу Nicolai M. Josuttis, "SOA in Practice: The Art of Distributed System Design (Theory in Practice)". Скачал отсюда. О чем эта книга - можно примерно понять из названия. Чем она меня привлекла? Во-первых, они довольно свежая (2007 год), во-вторых, автор этой книги является автором C++ Templates - The Complete Guide, которую мне не удалось заполучить в бумажном варианте. Да и вообще он известный C++-дядька. Незнаю насколько полезной окажется эта книга в освоении SOA, но покрайнемере картинки в ней выглядят красиво :) Помимо SOA в книге рассматриваются такие моменты как: BPM (business process management), ESB (enterprise service bus), Model-driven service development, Message exchange patterns и Web services.

четверг, 13 декабря 2007 г.

boost::any изнутри

boost::any позволяет хранить переменные различных типов без явного указания типа, например так:

Read More...

среда, 5 декабря 2007 г.

Мусор в голове: SOA, ERP, ESB, OSS, КЫГЫР, ЫЙЦУК...

Пару дней в свободное от работы время думал/читал над вопросом автоматизации бизнес процессов с реальной целью применить это на практике. Пока конкретной задачи небыло, просто нужна система, желательно состоящая из модулей, поведение подулей описывается сценарием и нужны какие-нибудь контракты для общения модулей, кроме этого клиенты - веб-браузеры, и звучало что-то на счет что бы как OSS/BSS...


  • Во-первых, понять, к чему были сказанны слова об OSS/BSS.
  • Во-вторых, я понятия не имею о бизнес процессах, следовательно, нужно узнать, что уже сделанно в этом направлении, какие архитектуры и стандарты используются и есть ли смысл писать все с нуля.
  • Третья причина вытекает из второй. Несомненно в области автоматизации бизнес процессов сделанно уже немало. Поэтому нужно как можно безболезненнее начать "сотрудничать" с уже готовыми решениями, что бы не получилась еще одна системка в большом "зоопарке" систем ((с) from Just One More Article About SOA and BPM).

OSS/BSS
Системы поддержки операционных процессов (OSS) наиболее часто упоминаются в контексте телекоммуникационных систем. Они предназначены для управления ресурсами провайдеров телекоммуникационных сервисов (например, мобильные операторы, интернет-провайдеры, телефонные компании) и их сетями. Но, так как другие отрасли тоже нуждаются в подобных системах, OSS постепенно перешли в разряд подсистемм OSS/BSS, где BSS (системы поддержки бизнеса) решает бизнес задачи, такие как получение ордеров, обработка счетов, платежей и т.д. Дополнительно почитать можно здесь и здесь.

Сразу же возникает вопрос зачем это надо? В моем понимании, наличие OSS/BSS вводит модель построения систем в конкретной отрасли, что позволяет более успешно интегрировать системы, расширять и поддерживать их, а так же позволяет использовать заказчику и производителю один и тот же язык общения. Для телекомуникаций такими моделями являются TNM (Telecommunications Management Network) и, более новая модель, разрабатываемая TeleManagement Forum, TOM (Telecoms Operations Map) или eTOM (enhanced Telecom Operations Map). Есть еще программа TeleManagement Forum, направленная на помощь провайдерам телекоммуникационных сервисов в управлении их бизнесом и называемая NGOSS.

это пока все. получилось не очень структурированно и не очень понятно - мусор пока остается мусором. но мне кажется, что OSS - это все таки не совсем то, что мне нужно. не понятно как это использовать практически и в каких масштабах. следующая на очереди SOA и ERP. вот некоторые ссылки по теме:

SOA и Web-сервисы от IBM
Сервис-ориентированная архитектура
Корпоративная сервисная шина - "бюджетный" подход к решению задач интеграции
Бизнес-процессы и XML
Концепция ESB в отрасли телекоммуникаций
С высоты птичьего полета /блог Сергея Орлика/

Read More...

воскресенье, 2 декабря 2007 г.

Концерт Therion в Киеве

Свое 20-ти летие Therion решил отметить катанием по миру с песнями и начали они с Киева. Программа называлась Adulruna Rediviva - 20 Year Celebration Tour и должна была включать песни из альбома Theli и более поздних.

Read More...

среда, 28 ноября 2007 г.

Существуют ли конструкторы копирования???

конструкторы копирования... конструкторы копирования... конструкторы копирования... конструкторы копирования... конструкторы копирования... после того, как я повторил это слово 5 раз, каждый раз слыша в ответ "Что-то я не пойму о чем Вы...", сомнения начали одолевать и меня. Действительно, о чем это я??? Может чего напутал?

Только что проводил собеседования у человека, который позиционирует себя (фраза "позиционирует себя" почему то всегда меня коробит) как С++ Синьер Девелопер. Попросил нарисовать конструктор копирования и оператор присваивания для простого класса... В итоге он нарисовал только оператор присваивания, а на счет КК сказал, что такого не существует и в помине, всегда используется оператор копирования, мало того, такой код просто не правильный:

Когда он не поверил мне про КК в векторах... я начал сомневаться сам, разве может человек с 8-ми летним С++ным опытом не слышать о них... Блин, я даж после собеседования написал класс с конструктором копирования :) Все таки КК существуют :))

понедельник, 19 ноября 2007 г.

Team Meeting #5

18 ноября в Сумах прошел очередной (#5) семинар разработчиков Team Meeting.

  • упор делается не на технологии, а на опыт и квалификацию программистов; PostreSql и perl используются только из тех соображений, что был опыт работы с ними;
  • чем проще код, тем надежнее работает;
  • нет тестировщиков, юнит тестов и регрессионных тестов, но есть code review;
  • аутсорсинг и работа из дому не есть гуд;
  • политика компании не предумматривает работу в компании программистов из Индии :)
  • и еще много интересного...

Read More...

пятница, 16 ноября 2007 г.

Книга по DSL от Мартина Фаулера

Martin Fowler пишет книгу по Domain Specific Languages. Вчера он решил, что накопилось уже достаточно материала, что бы предоставить некоторый отчет о написанном.

четверг, 15 ноября 2007 г.

Что за зверь такой RadRails?

Решил посмотреть посмотреть всякие Ruby IDE. Для начала захотелось попробовать RadRails, которую так не любят в народе (нелюбят например здесь Ходячий труп и признаки смертельной болезни).

Уже удалось создать простой проект и даже запустился сходу - уже хорошо. Документации что-то маловато, а вот кнопок и всяких окошек, на первый взгляд, туева куча. Будем копать дальше :)

четверг, 8 ноября 2007 г.

Опыты со SWIG'ом: std::string и Ruby

Решил попробовать изменить пример из предыдущего поста: вместо double использовать std::string.

Read More...

Архив статей по COM

Случайно наткнулся на Архив статей "Что такое технология COM". Чем примечателен этот архив - все статьи написанны "человеческим языком" и в одном духе, разбиты на группы в порядке от простого к сложному. Отдельные статьи посвящены таким тема как память, взаимодействие процессов и т.д. Вообщем в отличие от классических трудов по COM'у, таких как "Сущность технологии СОМ. Дональд Бокс." и "Основы COM. Дейл Роджерсон." (можно посмотреть здесь), вызывает больше энтузиазма не останавливаться после первой главы.

понедельник, 29 октября 2007 г.

Опыты со SWIG'ом: C++ код и Ruby

Недавно у меня возник вопрос, как скрестить C++ и Ruby, а именно - есть С++ либа, хотелось бы использовать ее из Ruby. Покопавшись немного в инете, нашел статью "Использование C и Ruby", откуда стало ясно, что основные способы создания расширений для Руби - использование Ruby API (ruby.h, rubyio.h, intern.h) и утилита SWIG. Для начала решил попробовать SWIG.

Read More...

вторник, 23 октября 2007 г.

Неизвестный Киев: Киево-Печерская крепость, Госпитальное укрепление

На прошлой неделе просматривал экскурсии на сайте "Интересный Киев" и узнал о существовании Киево-Печерская крепости. Крепость включает в себя:

  • Старая Печерская крепость, цитадель (А);
  • Васильковское укрепление (Б);
  • Госпитальное укрепление (В);
  • Зверинецкое укрепление (Г);
  • Лысогорский форт (Д);
  • северный фас крепости(оборонительные казармы, мастерские, подпорные стенки) (Е).

Read More...

четверг, 18 октября 2007 г.

Рубиновые сокеты

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

  • протокол (TCP, UDP, raw IP);
  • локальный IP адрес (к нему чему сокет привязывается при создании);
  • локальный порт (к нему чему сокет привязывается при создании);
  • удаленный IP адрес;
  • удаленный порт (используя эти параметры сокет конектится к удаленному сокету).

Сокеты реализуются с посредством библиотек, таких как Berkeley sockets (BSD sockets) или Winsock.

Ruby предоставляет свой инструментарий для работы с сокетами (на базе BSD sockets):

Read More...

среда, 17 октября 2007 г.

The GoF patterns in Ruby

I've just found implementation of the GoF patterns in Ruby with examples.

вторник, 16 октября 2007 г.

Шпаргалка по созданию Makefile

Что такое Makefile? Makefile - это сценарий для утилиты make. Эта утилита помогает автоматизировать процесс компиляции проекта (проектов):

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

Об опциях компилятора можно почитать здесь.

Read More...

понедельник, 15 октября 2007 г.

Muse in Kiev

Muse Live in Kiev - one more video, bad quality but good sound:

C + Ruby

It is no secret that Ruby sends messages to invoke methods. So it much slower than in C. If you need speed in accessing instance variables and invoking methods you can use CplusRuby:


With CplusRuby you can define custom C structures from within Ruby and wrap them easily in a Ruby class. You can as well define C functions that can access this structure easily. CplusRuby generates setter/getter methods for every property and wrapper methods for the C functions.

The purpose is speed! The C functions can access the C-structure, which is much faster than accessing instance variables. Also, the C functions can call each other directly. This is *much* faster than invoking a method in Ruby. As wrappers are generated, the Ruby-side can access all C-structures and functions as well.

воскресенье, 14 октября 2007 г.

Reading C type declarations

Article Reading C type declarations intends to describe how read difficult C statements such as

Muse в Киеве

Не смотря на угрозу отмены, концерт Muse вчера все же состоялся.


Read More...

вторник, 9 октября 2007 г.

Software Engineering Radio

Software Engineering Radio - The Podcast for Professional Software Developers.

Здесь собраны и постоянно обновляются записи разговоров с девелоперами о девелопменте. Файлы в среднем по 40-50 метров. К некоторым прилагаются слайды и ссылки на источники по теме.

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

В дополнение можно посмотреть лекции университета Беркли (Berkeley).

С++ под капюшоном

C++ under the hood - в этой доке один из сотрудников микрософта рассказывает как устроен С++ изнутри (Microsoft Visual C++), т.е. размещаются в памяти классы, наследование, виртуальное наследование, виртуальные функции и т.д. Полного представления об реализации С++ (Microsoft Visual C++) она не дает, но отвечает на некоторые вопросы которые любят спрашивать на собеседованиях и в brainbench.

четверг, 4 октября 2007 г.

Тираж закончился. Оставьте заявку...


Тираж закончился. Оставьте заявку. Мы постараемся отыскать эту книгу для Вас, немедленно известив Вас об этом...

Недавно решил купить книгу Шаблоны C++: справочник разработчика. Захотелось полистать бумажный вариант. Оказалось, что поздно опомнился. Когда услышал на Петровке, что такой книги больше нет, вся продана - не поверил. Стал искать по интернет магазинам - таже ситуация. Есть только на российских сайтах и вроде как есть во Львове. Посмотрел, что тираж у нее всего 5000 экз (хотя встречалась и цифра 3000). Значит все уже раскупили. Но у Страуструпового Язык программирования C++. Специальное издание тираж такой же и встречается в купленном виде намного чаше. И вообще, 3000-5000 экземпляров - это нормальный тираж для книг по программированию. Может их изымают и сжигают? Фигня какая-то. Надо купить, пока до Львова не добрарилсь :)

среда, 3 октября 2007 г.

Ruby-гуру со всего мира о Ruby

Здесь можно почитать что думаю о Руби программисты из разных стран мира: Advice For Ruby Beginners

вторник, 2 октября 2007 г.

Временно бесплатная книга по Ruby on Rails

60 дней будет доступна в pdf формате книга Build Your Own Ruby on Rails Applications на сайте SitePoint

В российский школах будет своя ось

Шутка о то, что в России планируется разработать специальную ось для школ, были известна уже давно. Теперь это уже не шутка, а реальная угроза для учителей и школьников: Россия выбирает третий путь

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

Поэтому будет писаться своя ось, свой софт... Мы не ищем легких путей :)))

Программистские видео лекции

В дополнении к книгам, можно посмотреть лекции по программированию на C++, Java, Perl, Python и т.д. Programming Language Video Lectures

Программистские онлайновые книжки

Your Book Case. Preview The Book You Want To Buy. Тут есть такие интересные книжки как:

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond

CPP Coding Standards 101 Rules Guidelines and Best Practices

и т.д.

Циклы в Руби

На первый взгяд, Руби предоставляет не большой набор встроенных конструкций для создания циклов. Здесь нет привычного for(i=0;i < N;i++), только while и until.

Read More...

понедельник, 1 октября 2007 г.

Один Vim, много файлов

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

vim file1 fill2

Перемещаться по открытым файлам можно будет с помощью команд :n (вперед), :prev (назад). Это самый простой способ.

Больше узнать об этом всем можно спросив в самого вима :help split.

Read More...

gdb links

Пара ссылок на доки по gdb:
- Debugging with GDB (объемная дока по всему, что умеет отладчик; дока поддерживается разработчиками gdb)
- Отладка с помощью GDB (то же самое, но на русском и не обновлялось с марта 2000)

Посещение "Водно-информационный центра"

Недалеко от арки Дружбы народов в Киеве, в Хрещатом парке, находиться Водно-информационный центр - две башни, похожие на пожарные вышки.

Read More...

четверг, 27 сентября 2007 г.

Rubinius - Ruby VM написанная на Ruby

Rubinius - виртуальная машина и компилятор для Руби.

It's still something I plan on doing sooner rather than later. There ended up being a lot of issues we wanted to tackle first, and we haven't get got back to working on Garnet (the new name for Cuby). There were no particular problems yet, but I'm sure well find some.

Garnet looks like ruby at first glance, but the semantics of what things mean have been rewired.
For example, in garnet code 'd = c.to_ref' appears to call a method called to_ref on c, but garnet will translate that into 'd = &c', which is C code. One way to think about it is as a really advanced C preprocessor. It tries to map as much as it can to C constructs. The idea is something that looks like ruby, but behaves like C.

Поподробнее о Rubinius можно почитать тут:
The Rubinius Project
All content and news on InfoQ about Rubinius
evan.musing << current

Read More...

Чешская мечта (Польша, Краков)

...продолжение описания тура "Чешская мечта" в Чехию через Польшу...

В 7 часов утра выехали автобусом изо Львова в направлении польской границы. Всего 5 часов на границе и мы в Польше.

Read More...

среда, 26 сентября 2007 г.

How to swap two variables in Ruby?

Yeah, It's really simple to do! You must write only one string:

Ruby provides parallel assignment - they can be preformed in parallel. So it's normal code for Ruby:

Moreover, Ruby provides nested assignment:

Особенности изменяемых атрибутов (writable attributes) в Ruby

Изменяемые атрибуты (writable attributes) - атрибуты объекта, которые могут быть изменены сторонними объектами. Для этих атрибутов должен быть определен метод присвоения или или ему должно быть разрешено изменение (attr_writer, attr_accessor), что бы этот метод сгенерился автоматически

Read More...

ГрОб в Киеве

Что-то Летов зачастил в Киев. Совсем недавно, год назад ГрОб приежал со своим очередным новым альбомом. И снова новый альбом "Зачем сняться сны".

Read More...