Home

[icon] наивный идеализм
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (http://dervish-candela.deviantart.com/).
You're looking at the latest 18 entries.

Tags:, ,
Subject:Ну вы поняли, или «I'm lovin' it».
Time:10:56 am

ДВЕ ТЫСЯЧИ ДЕВЯТЫЙ ГОД. Люди до сих пор не умеют использовать юникод. Видимо, всё-таки легенда о вавилонском смешении языков имеет под собой какие-то рациональные основания. Есть, интересно, какой-нибудь неублюдочный диффер/мержер?..
UPD: KDiff3 не виноват. Виноваты ублюдочные скрипты в виндовском дистрибутиве Hg. Да, конечно, виндовская консоль - гавно, и всё такое, только вот у TortoiseSVN таких проблем нет, правда?
UPD2: И вообще, причем тут виндовская консоль? Просто кривые руки, ведь открывтаь-то файлы скрипт открывает. А вот имя результирующего файла при мерже на вход диферу явно передают через ж.
comments: 6 комментариев or Оставить комментарий в избранное рассказать другу

Tags:, ,
Subject:LOL cmd.exe <3 UNC
Time:10:40 pm
comments: 2 комментария or Оставить комментарий в избранное рассказать другу

Tags:, , , , , , ,
Subject:Омгомгомг умное ПО!!11
Time:12:43 pm
Современные технологии меня трогают до слез. ВНЕЗАПНО, кликнув на маахонький подозрительно знакомый значок во вкладке скрипта в IDE «Комодо», обнаруживаю что мне предлагают сделать Hg-коммит! Интеграци~я *_*
Алсо RxToolkit в комоде прекрасен. Лучший дебаггер регэкспов из всех, что я видел (2 шт.). До этого я работал в Kodos (тоже родной, на питоне), функционал тот же, но комод удобнее, красивее и шустрее. Как и во всём остальном что касается комода — «удобнее и красивее» не удивило. Но вот «шустрее» стало приятным сюрпризом :)

Открыл для себя синтаксис флагов (?...). Shiawase ~^_^~. Наконец-то я могу внедрить опции исполнения в регэксп, а не помнить сам, что их надо передать движку. Алсо to whom it may concern, я е..ался с re.UNICODE добрых часа три только чтобы выяснить, что включать его нельзя. Все прониклись? Включать re.UNICODE, обрабатывая файлы в utf-8, НЕЛЬЗЯ. Иначе ничего не будет работать. Самое смешное, что и Кодос, и RxToolkit вообще никак не реагируют на этот флаг (иначе я бы выяснил эту муть куда раньше, да). А стоит перепастить код в скрипт - и ни..уя не работает. Швайссе!

P.S. Буду делать свой первый pull/merge, пожелайте мне удачи :)
comments: Оставить комментарий в избранное рассказать другу

Tags:,
Subject:TortoiseHg
Time:01:15 pm
Поставил, опробовал. И конечно же, забыл принести на работу :) Работает, вроде бы. Даже не конфликтует с TortoiseSVN. Ну, а про внешность приложений на Gtk под винду всё уже сказано до меня. Нам, конечно, скорее ехать чем шашечки, но чисто эстетически, диалоги TortoiseHg по сравнению с TortoiseSVN выглядят просто жалко :(

Ловлю себя на мысли, что в данном случае из консоли работать как-то концептуально проще =) Причем распределенка оказалась на порядок удобнее для казуального версирования (как инструмент повседневной компьютерной жизни). Ноль возни с хранилищами и РК. Скажем, рисую я что-нибудь. Обычно я сохраняю новые версии под новым именем в одну и ту же папку. Вместо этого можно просто набрать команды «hg init» и «hg add» в этой папке, и после каждого сохранения выполнять «hg commit». И всё! Абсолютно не надо думать, — где, что и зачем. Оно просто работает.

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

P.S. Есть таки одна штука, которая немножко мешает - это жесткая политика по лог мессаджам (не сохранишь мессадж - не получишь коммита). Надо или отключить, или посмотреть, как это сделано в Git.
comments: 2 комментария or Оставить комментарий в избранное рассказать другу

Tags:,
Subject:Mercurial (Hg) VCS
Time:11:00 am
Опробовал сабж. Его рекомендовал аж ipse Линус. То есть конечно он рекомендовал прежде всего свой Git, но я тогда решил подождать, пока не будет Tortoise-оболочки (интеграции в эксплорер) для него. Теперь он есть, и приходится признать, что я не хочу разбираться с Git по одной единственной причине - уж слишком у него идиотское название. В пользу меркуриала было и то, что написан он на расовом питоне.

Ну что сказать... нормальная система. Коммиты делать получается, команда add умная (так же как в bzr и git, для работы достаточно указать add или addremove без каких-либо параметров), экспорт предыдущей ревизии я с горем пополам нашел — работать можно. Ну, вот и работаю. Как честно откатить конкретный файл на раннюю ревизию, пока люто не понял. С распределенно-специфичными понятиями и терминами тоже пока разобрался не очень. То есть, как иметь все подразумевающиеся распределенные ништяки, я пока не в курсе. Острое чувство беспомощности прилагается в комплекте - великий виндовский шелл cmd.exe доставляет, да. Ни просмотреть лог, ни увидеть имена добавленных файлов, ни вбить паттерны в поиск...

А где же TortoiseHg, спрашиваем мы? А вот оно, отвечаем мы, открывая принесенную на работу пачку TortoiseHG-stable.zip. А там внутри - surprise! - лежит конструктор! «How To build TortoiseHg for Windows», simple guide в двадцати шагах. I love linux folks!
comments: 10 комментариев or Оставить комментарий в избранное рассказать другу

Tags:
Subject:зачем на чертежах нужна ревизия
Time:02:47 pm
Да я бы, если честно, и QR-код с лог-месседжем поставил. Только тогда со мной точно придут поговорить сотрудники особого отдела (им же там ведь скучно очень).

Конструкторская разработка - это ведь почти такая же штука, как программирование. Каждый день добавляется или изменяе6тся что-то по мелочи, и даже не факт, что все изменения совместимы. Если программисты смогли рано или поздно себе написать хороших VCS, люди на производстве ведь до сих пор держат всё это в голове! (омайгад). У них нет ни VCS, ни тест съютов. И когда в меня тыкают прошлогодним чертежом с требованием немедленно сказать, почему вдруг там размер 42H6 вместо 42H8, I reach for my browning я начинаю ощетиниваться и шипеть. Потому что я точно помню, что это отверстие менялось с 42H8 на 42H6 и обратно как минимум пять раз, по требованиям/просьбе/рекомендациям абсолютно разных людей, иногда в один день.

Ну это о пользе VCS для меня как разработчика. Ревизию же нужно на чертежах проставлять затем, чтоб я мог сразу выхватить из рук тыкающих устаревшие версии и оперативно запилить их. Конечно, есть вещи, которые не мняются десятилетиями - такие многие у нас помнят наизусть. Но в экспериментальной разработке охватить взглядом содержимое чертежа и сказать, какая это из версий, никто из людей не в состоянии.
comments: 15 комментариев or Оставить комментарий в избранное рассказать другу

Tags:, , ,
Subject:Линус заповедал нам юзать Git
Time:02:40 pm
Но великодушно разрешил также Mercurial, написанную на расовом Питоне. Пробуем. Гит будем пробовать, когда появится TortoiseGit :)
comments: Оставить комментарий в избранное рассказать другу

Tags:, , ,
Subject:Линус об SCM (спасибо [info]claymore_ws за познавательный материал)
Time:03:34 pm
http://www.youtube.com/watch?v=4XpnKHJAok8

They may not be literally disconnected, but in practice, they aren't really well connected either.
Even if it's not completely offline, it's important to be able to do everything you want to do from any location without having to be able to access a server.


И хотя Линус говорил о преимуществах распределённых SCM над централизованными, думаю, это хорошо выражает и суммирует моё недоверие к любым формам "веб-приложений". Их единственное назначение как я его вижу - это попытка стртегического перенаправления контроля (а значит, в итоге и денежного потока) из рук людей в руки корпораций. Никаких технологических преимуществ концепция веб-приложений не содержит, и любые проблемы, которые она якобы рещает, решаются более эффективно и надёжно традиционными средствами. А в вопросах обеспечения безопасности третья сторона (сервер: бэкап, CA, мёртвая рука итд) будет требоваться независимо от технологической парадигмы.

Это в продолжение дискуссии с некоторыми людьми об этих новомодных глупостях. Разница между теоретическим «not disconnected» и практической инженерной оценкой «not well connected» хорошо иллюстрирует мертворожденность подобных штук. Не говоря уж о невозможности обосновать необходимость их использования, — пока сеть не станет действительно жёсткой системой, работоспособность любых таких вещей не гарантирована, на них нельзя положиться, а значит — их использование требует принятия идеологии смирения и беспомощности.

А жесткой системой сеть станет не раньше, чем у нас наступит полный blame.
comments: 9 комментариев or Оставить комментарий в избранное рассказать другу

Tags:, ,
Subject:CMS above and beyond
Time:11:03 am
Кто нибудь пользовался Меркуриалом или Базаром?
comments: 5 комментариев or Оставить комментарий в избранное рассказать другу

Tags:,
Subject:организация svn-хранилища (2)
Time:09:55 am
перекроил всё содержимое под trunk/tags/branches. Не сказать, чтоб это была особо умная идея, историей теперь не очень удобно пользоваться, но т.к. история мне всё равно не нужна (для меня это просто бэкап), то аминь.

Также переименовал папку с хранилищем и перебазировал рабочие копии (хотя локально можно было просто извлечь их заново). Основнм источником неуверенности было предупреждение от tortoise svn, что я якобы собираюсь перебазировать на другой путь внутри хранилища, но с помощью постижения rtfm-ов и банальной проверки обозревателем хранилища я уверился, что это не так (FSFS не содержит непосредственно папок с содержимым, поэтому и переименованная средствами эксплорера папка никак не может находиться внутри хранилища).
comments: Оставить комментарий в избранное рассказать другу

Tags:
Subject:организация svn-хранилища
Time:02:52 pm
Кто-нибудь знает, чревато ли последствиями переименование каталога хранилища? Т.е. той папки, что непосредственно содержит FSFS DB. Нужно ли после этого делать relocate? Или достаточно заново извлечь? ... и есть ли какая-то разница между svn:// или http:// и file:/// ? Я не очень разобрался в этих тонкостях.

P.S. слишком поздно я понял, что традиционная организация на /trunk, /tags, /branches - штука действительно нужная.
Сейчас я работаю прямо в корне хранилища, и не могу нормально иметь ни ветвей, ни снимков. А мне нужно работать с отдельной версией проекта, да и снимки я бы иметь не отказался. Стоит ли для перекроить текущий репозитарий на эти папки, или лучше продублировать в чистое хранилище?
comments: Оставить комментарий в избранное рассказать другу

Tags:,
Subject:дропбокс: первое впечатление
Time:10:31 am
вообще такие штуковины хороши наверное больше для приучения обычных людей к самой идее контроля версий.
вот, например:
https://www.getdropbox.com/revisions/Public/Top%20Secret.txt?ns_id=872577

Обычный человек (или даже, представьте себе, девушка!) редактирует обычный файл в обычной папке. А потом заглядывает в браузер - а там чудесным образом вся история существования файла, и его содержимое для каждого нажатого Ctrl+S имеются! Так-то.

Интеграция в систему на уровне ФС - это сильно.
Очень удобно, что в два клика можно закинуть файл наверх и получить для него публичную ссылку (для не-public файла не выдающую, кроме прочего, его настоящей локации в твоём ящике).

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

работает почти так, как мне надо - за исключением онлайн-составляющей и той маленькой проблемки, что этот самый онлайн находится у дяди в калифорнии, а не у меня в комнате. а дядя не отвечает за сохранность и приватность моих файлов.
comments: 19 комментариев or Оставить комментарий в избранное рассказать другу

Tags:,
Subject:tasty free cheese ^____^
Time:10:27 pm
http://www.getdropbox.com

онлайн-хранилище с контролем версий. дельта-передача, SSL, зашифрованное хранение, автоматическая синхронизация на разных компах и системах. 2 гига бесплатно.

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

Tags:
Subject:Контроль версий IV - отчёт :)
Time:10:56 am
Прошло два месяца с тех пор, как я впервые перенёс свой текущий проект под контроль svn.
Ничего особенного не случилось, регулярная фиксация выручила в нескольких неприятных ситуациях и не создавала проблем в остальных. Софт (TortoiseSVN) нормально пережил апдейт, и зарекомендовал себя очень полезным инструментом, хотя и иногда немного неуклюжим.

По результатам испытания могу рекомендовать SVN как простой и полезный мехнизм страховки от случаных ошибок, намеренных глупостей и непредвиденных обстоятельств - для всех, кто занимается какой-либо серьёзной (собственно) работой. Использование предельно примитивно - создаём репозиторий, импортируем туда наш текущий проект или оставляем пустым для начала нового проекта, а затем извлекаем рабочую копию. Сделав в рабочей копии хоть что-то полезное, сохраняем и не задумываясь жмём "утвердить", а затем спокойно работаем дальше: файлам уже ничего не грозит.
comments: 1 комментарий or Оставить комментарий в избранное рассказать другу

Tags:, , ,
Subject:キタ!! - Контроль версий III.2
Time:09:37 am
:3
На скриншоте:
 - Опера, отображающая PHP-фронтенд к ReposServer'у
  - Проводник в подключённом к ReposServer'у сетевом диске
   - Просмотр репозитария через TortoiseSVN



P.S. я хотел заменить ReposServer на более демократичную пачку, но самостоятельно настроить SVN в xampp я пока что не смог.

P.P.S. где-то муть с кодировками. если репозитарий содержит имена файлов в cp1251, то TortoiseSVN отказывается извлекать рабочую копию. так как мы точно знаем, что SVN сама по себе обрабатывает всякую кодировочную жвачку вполне корректно, то, видимо, виноват mod_svn. Это, конечно, никуда не годится. Уныло :(
comments: 1 комментарий or Оставить комментарий в избранное рассказать другу

Tags:, , ,
Subject:контроль версий III
Time:02:53 pm
Итак, господа, это работает.
Не то что бы я собирал всё руками, - взял пачку ReposServer, поставил netdrive.exe, помучился немножко и подключил их друг к другу. Ура.

Теперь вместо загадочной "рабочей копии" мы имеем обычный сетевой диск, где можно хранить, сохранять и изменять что угодно, когда угодно и чем угодно, просто нажимая Ctrl+S - и в любой момент получить полный доступ к истории изменений. Никаких "коммитов" или "диффов", - мозг нормальных людей не подвергается смертельно опасной попытке осмыслить принципы работы и устройства систем управления версиями, и остаётся в рабочем состоянии.

Сейчас пытаюсь свернуть это всё в некое подобие автономной инсталляции. Нашёл две портативные пачки апача, xampp и server2go, пробую пока запустить первое - сопротивляется. Не знаю, насколько человечно будет носить с собой это на флешке или винте, но без независимости от буквы диска нет никакой гарантии выживания и функциональности подобной штуковины, а следовательно и полезность её нулевая.
comments: 2 комментария or Оставить комментарий в избранное рассказать другу

Tags:, , ,
Subject:контроль версий II
Time:09:13 am
Есть, есть бог на свете. Зовут его неленивый идеалистичный девелопер, не нуждающийся в деньгах. Я слышал, последний раз его видели где-то в семидесятых в МИТе, он крутился у тех лисп-машин, что нынче гниют на свалках и стоят в музеях.

В общем, существует на свете модульный слой ФС, обеспечивающий версионирование абсолютно прозрачно для пользователя. Это (surprise!) всё тот же SVN. Называется фича "autoversioning". Теперь о суровой (surprise buttsecks!) реальности - работает это только через воистину монструозную цепочку: Apache 2 + mod_svn + WebDAV + a 3rd party winxp network drive.

Большая часть нормальных людей удивлённо вскинет брови, встретив 'WebDAV'. Дурацкая, но известная кличка "Web Folders" прольёт свет на то, что же это за такая загадочная никому не известная штука. SVN в своём воплощении mod_svn реализует давно забытую идею добавить контроль версий к этим самым веб фолдерам. А так как клиентов, реализующих этот самый WebDAV/DeltaV протокол на свете, хм, чуть более нуля, то реализует оно его втихаря, - прозрачно создавая новые ревизии из всех файлов, приходящих на запись.

Выглядит отвратительно, не правда ли? Уникальный модуль, написанный для конкретной ветки конкретного веб-сервера - это не говоря уж о принципиальном идиотизме самой концепции использовать веб-сервер в совокупности с прориетарным клиентом (встроенный виндовый нетрудоспособен) для эмуляции локальной файловой системы. Ewwwww.... *shrug*

Разбираться с этим всё равно придётся - альтернативы есть, но они ещё более унылые (это как демократия). Если прнципиальная есть возможность создать и настроить раз и навсегда автономную (portable) установку апача с хранилищем, то уже становится не так страшно. Если. А застрявший как кость между ФС-слоями сетевой доступ в принципе можно рассматривать скорее даже как плюс, чем как минус. Самая большая проблема в том, что пересечение множества "людей, когда-либо проделывавших хоть отдалённо подобное", и множества "людей, которых я знаю", стремительно стремится к нулю в моей окрестности чуть менее чем во всех точках пространства-времени.
comments: 15 комментариев or Оставить комментарий в избранное рассказать другу

Tags:, , ,
Subject:контроль версий
Time:01:55 pm
Наконец-то заставил себя сделать то, что очень давно собирался - разобраться в том, что такое SVN и как оно может помочь решить мои давно наболевшие проблемы. Мне требовалось во многих проектах (в том числе, по работе) хранить историю версий

Вдохновившись лекцией «Software Carpentry», я с головой бросился в изучение SVN. Очень большую трудность в изучении концепций вызвала ориентация всей этой байды в первую очередь на командную работу над одним и тем же материалом. Человека, которому нужен эффективный механизм создания вейпоинтов/бэкапов, восторженные описания того, как легко и чудесно можно разрешать конфликты, вгоняют просто в ступор. Но известно, что на практике всё часто оказывается гораздо проще :) Так случилось и в этот раз, лужа оказалась довольно мелкой: практическое повседневное использование в индивидуальной работе ограничивается нажатием "commit" - скажем, раз в день. Или по достижении какой-то логически осмысленной точки в работе. Это красиво и прозрачно избавляет от необходимости вручную архивировать папки и проставлять на них номера версий с комментариями. Вот, фактически и всё. Немного несовершенен механизм начала работы (создать папки, хранилище, извлечь рабочую копию - это слишком громоздко); вызывает сильный когнитивный диссонанс необходимость помнить разницу между ФС-rename и SVN-rename, но взамен я получаю слишком много ,чтобы жаловаться. Возможность легко просмотреть и заново использовать полное состояние любой прошлой версии ("ревизии") - основная, но не единственная из всех толстых плюсшек.

Так как в идеале, мне нужна бы прозрачная песочница, слой ФС, позволяющий автоматически сохранять версии редактируемых документов, то изначально всякая юниксовая консольная ересь даже не рассматривалась, а использовался чудный Tortoise SVN, как бы создающий тот самый почти прозрачный слой SVN между прикладным ПО и ФС - пусть и немного неуклюже, но в итоге черезвычайно удобно. Особенно хороша идея иметь оверлей-значки к папкам и файлам.
comments: 7 комментариев or Оставить комментарий в избранное рассказать другу

Реклама

[icon] наивный идеализм
View:Свежие записи.
View:Архив.
View:Друзья.
View:Личная информация.
View:Website (http://dervish-candela.deviantart.com/).
You're looking at the latest 18 entries.