Motto

В тихом саду здравомыслия
Пусть на вас постоянно падают
кокосовые орехи пробужденности.
Чогьям Трунгпа РИНПОЧЕ


Версия для мобильного


понедельник, 13 апреля 2009 г.

Доступна вторая альфа Lazy Delphi Builder 1.1.7.117

Доступна для скачивания вторая альфа-версия(после введения поддержки относительных путей) Lazy Delphi Builder.

Исправления

  1. Не срабатывает смена текущей версии IDE.
    При первом сканировании и последующем удалении пакетов и компиляции, программа показывает неверное число выбранных пакетов.
  2. Info-panel не отображается автоматически для проектов собравшихся с ошибкой.
  3. Если в IDE в путях использовались переменные окружения(напр. $(BDS), $(DELPHI7)), то Lazy Delphi Builder пытался работать с ними как с директориями. Теперь он их раскодирует(как системные, так и переменные IDE).

Новое(сделано)

  1. Сделать, чтобы при добавлении папок не приходилось делать 2 лишних клика. При клике на +, если текущая папка не указана, сначала показываем Browse диалог, а потом её сразу добавляем.
  2. Сделать, чтобы папки не удалялись и не создавались, если ничего не будет компилироваться и копироваться. Например, если в профиле нет и одного проекта, то папка Bin будет проигнорирована. Если не установлен флажок "Copy Resources", то папка Res будет проигнорирована и при удалении и при создании. Папка DebugDcu будет удалена/создана, только если включен флажок компиляции Debug Dcu. И т.п.
  3. Сделать, чтобы формы всегда открывались по центру.

Что-то ещё…

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

Скачивать здесь: www.lazyproject.info/downloads


Читать дальше..

пятница, 27 марта 2009 г.

Текучка 9. Итоги за неделю работы.

Bluetooth + Funambol

На работе подняли вопрос о покупке сотрудникам мобильных телефонов для работы. А я вызвался исследовать возможность синхронизации списка контактов и заданий между нашим офисным планировщиком и телефонами. Когда-то основательно повозился, настраивая синхронизацию между Nokia N73 и Google-календарём[1]. Nokia N73 работает на Symbian-e, и синхронизация там построена на SyncML. Большинство порталов, для такой синхронизации построены на базе open-source сервера Funambol.

Скачал и установил на свой компьютер Funambol. Часа 3 провозился пытаясь настроить синхронизацию данных с мобильного телефона. Основная проблема в том, что компьютер может выходить в интернет через мобильный телефон подключенный через BlueTooth, а вот телефон подключенный через BlueTooth к компьютеру, через компьютер в сеть выходить отказывается. В интернете, вроде есть рецепты для N73, но они требуют установки в Symbian дополнительного софта, который придётся долго искать и настраивать. Это куда сложнее, чем, например, скачать аську на нокиа 5800, где всё просто - поставил и работает. =( Договорился с админом, в понедельник будем пробовать синхронизацию через WiFi. 


DEP

Коллега столкнулся с загадочной проблемой. У одного клиента, не работали формы созданные с помощью DreamVCL (это такие древние компоненты, включающие в себя дизайнер форм, и внутреннюю реализацию Pascal). При нажатии на кнопку выскакивал Access Violation. Известно, что аналогичная проблема встречалась ещё у двух клиентов (и не решилась). В офисе ошибку повторить не удалось. Коллега бился почти неделю, прежде чем пришёл за помощью. Пробовали отключать все возможные оптимизации, ошибка оставлась. Посоветовал ему попробовать подключить к проекту EurekaLog, чтобы точно определить место возникновения ошибки. Выяснилось что ошибка возникает при вызове события TButton.OnClick. При этом, до выполнения кода обработчика события, дело не доходит.
В результате, оказалось, что причиной для проявления проблемы была старательность системного администратора, включившего на проблемном компьютере DEP не только для сервисов Windows, а для всех программ. После того как наша софтина была добавлена в исключения, проблема пропала. Что интересно, что сначала мне пришла в голову мысль: "а может это DEP как-нибудь влияет", и только после того как выяснилось что это действительно DEP, я прочитал в Wiki описание DEP, и стало ясно почему так происходило. Вот так вот, в кои-то веки интуиция выручила. Теперь интересно, свободны ли другие "Form Designer-ы"(Greatis Form Designer, EControl Form Designer) от подобного бага.

Кстати, было бы очень интересно почитать обзор и сравнение функционала этих дизайнеров. Если кто-нибудь встречал сравнительный обзор, поделитесь пожалуйста ссылочкой. ;-)

Пост о DEP(+набор ссылок): http://alt0.livejournal.com/118310.html

 


UDF

Помимо этого, начальство подняло вопрос о переходе на Firebird 2.x, и выяснилось, что сдерживающим фактором здесь являются наши внутренние udf-ки. Сервер 2.1 под Windows просто падает при вызове некоторых функций. Udf-ки писались и компилировались лет 5 тому назад. Человек, который их писал, уже давно ушёл. На Си у нас никто не программирует и опыта особого не имеет(я лет 8 назад все лабораторки в универе писал на Borland C 3.1, потому что на моём факультете Паскаль на первом курсе не преподали). Переход на Firebird 2.x был отложен до лучших времён. И вот эти времена настали. Часть времени этой недели было потрачено на попытки собрать исходник на Си в dll-ку под Windows c помощью MinGW. Хвала Dimitry Sibiryakov и неизвестному человеку из RedSoft за помощь, dll-ка получилась. Сейчас думаю, о том, как бы организовать сборку 4-х версий для Windows/Linux/32bit/64bit на одной машине. Но судя по тому, что удалось найти в интернете о cross toolchain, это задачка не из тривиальных и быстрее и выгоднее будет собрать нужные версии под соответствующими ОСями.

[1] Для синхронизации планировщика в телефоне и календаря Гагл, я использую сервис ScheduleWorld. Этот сервис построен на базе Funambol, и умеет синхронизироваться с сервисами Google. Хотя совсем недавно, сервисы Google наконец-то обзавелись собственной поддержкой SyncML, но пока что это работает только для контактов.


Читать дальше..

Контактная информация

E-mail/Google Talk

image

ICQ

image

Skype

My status

Кошельки Webmoney:

  • R422445527838
  • E344705116688
  • Z247858224495

В аське и скайпе бываю нечасто. При запросе о добавлении в аське, обязательно укажите ключевое слово Tdelphi, и о себе пишите translitom.

Языки: русский, english, latviešu.


Читать дальше..

понедельник, 23 марта 2009 г.

Lazy Delphi Builder 1.1.6.115 Alpha

  1. Добавлена кнопка "Очистить".
  2. Сделано, чтобы по ExcludeMask=*6* проверялись только имена файлов, без папок.
  3. В дереве пакетов включено выделение правой кнопкой мыши.
    Исправлено: LazyDelphiBuilder в качестве пути берёт только LibPath/DebugLibPath (c:\Program Files\CodeGear\RAD Studio\Lib), игнорируя Library Search Path.
  4. Исправлена ошибка с удалением папок(созданием бекапа)
  5. Исправлено: не работало добавление папок, если есть BasePath
  6. Добавлено: Когда пользователь прерывает операцию, показывать текст, что операция была прервана
  7. Исправлено: После загрузки профиля с относительным каталогом, оный не подсвечивается жирным
  8. Исправлено: После переустановки базовой папки, удалённые файлы вновь становятся активными.

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

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

Скачивать здесь: http://code.google.com/p/lazyproject/downloads/list


Читать дальше..

Итоги осеннего семестра в RTU, по программе Информационные технологии.

Итак, я наконец ликвидировал в университете свои хвосты за первый семестр последнего курса, теперь буду отращивать новые и писать бакалаврскую. =)

Заметил, что к учёбе сейчас стал относиться не так как раньше. Помню когда поступал в университет после школы – совсем не представлял как и где буду использовать полученные знания. Соответственно, предметы, которые не относились к программированию, в основном сдавались “для галочки”. Восстанавливаясь на обучение в этом году, я делал это для той же галочки, но ликвидируя хвосты, понял, что учиться стало намного интереснее.

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

Операционные системы.

Предмет познакомил меня с bash-скриптами, регулярными выражениями, Linux-загрузчиками lilo и grub, и поиском решений к задачам о синхронизации потоков. Несколько лекций было посвящено MS-DOS(память, загрузчики, autoexec.bat и config.sys) – а это по-моему уже совсем неактуально. Было бы здорово, если бы эту часть заменили лекциями об операционках для портативных компьютеров и мобильных телефонов.

Большие Базы Данных.

Большие БД мы проходили на примере Oracle. Преподаватель предоставил потрясающие слайды, дающие исчерпывающее представление о работе с СУБД Oracle. Чтобы не писать кучу объёмных отчётов по этому предмету, я договорился с преподом, что проведу исследование о механизмах доступа к БД Oracle из Delphi. Я собрал и установил все доступные компоненты для работы с этой БД, и провёл несколько тестов, с целью выяснить, с какими типами данных Oracle Delphi умеет работать. В результате у меня получился отчёт на 50 страниц. А результаты исследования получились довольно неожиданными, и, как мне сейчас кажется не совсем корректными(часть информации полученной мной, противоречит заявленной на официальных сайтах). Именно из-за этой некорректности, я пока не публикую эти результаты в этом блоге.:( Кстати, посты Стандартный DbGrid с многострочными заголовками и Сравнительная таблица технологий доступа к СУБД Oracle из Delphi являются побочным продуктом этого исследования.:) Я также решил, что было бы хорошо развить эту тему, и выбрал её в качестве основы для бакалаврской работы.

Методы принятия решений.

Интересный предмет, на котором нам рассказывали о методах принятия решений, таких как decision matrix, decision trees. Я не нашёл в интернете информации по этому предмету на русском языке. Эти методы довольно замечательно вписываются в курс Управление Проектами. Побочным продуктом этого предмета стала одна небольшая программка, по составлению расписания мероприятий с учётом в ограничения ресурсов. Изначально я собирался выложить программку вместе с исходным кодом, но потом, оценив трудозатраты, передумал. Думаю, что из этой программки получится отличный “планировщик”.

Введение в управление проектами.

С УП мне пришлось столкнуться ещё когда я работал над первым продуктом на своей текущей работе – там как раз нужно было реализовать модуль управления типовыми проектами в дополнение к модулю планирования ресурсов. Этот предмет для меня особенно важен, ибо кодерство-кодерством, а карьеру всё-таки нужно делать, и понимание принципов управления проектами в этом плане будет существенным подспорьем. Поначалу я собирался связать тему бакалаврской работы с УП, и даже успел прочитать весь архив сообщества ru_pm в livejournal. =)

Введение в генетические алгоритмы.

Генетические алгоритмы – интересный подход к решению задач, с которыми я на практике ни разу не сталкивался. Забавно, что это был второй выборный предмет, связанный с генетическими алгоритмами, который я выбирал, так что в этот раз было легко, благо многое я уже знал. =) Курс включал в себя: решение задач поиска экстремума функций методами генетических алгоритмов и градиентным методам, решение задачи коммивояжера. Что не понравилось – необходимость рассчитывать вручную большие объёмы информации и написание огромного отчёта.

Информационные системы в логистике.

Решение задач о планировании спроса на основании статистических данных за предыдущие годы, решение задачи коммивояжера с помощью Logware. Решение задач о планировании организации цепочки поставок, рассчитав конечную стоимость для разных случаев организации поставки с помощью ASDN.

Средства для имитационного моделирования.

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


Ссылки по теме:


Читать дальше..

Постоянные читатели