Получить список всех файлов, которые отмечены как checked out в VSS

Устанавливаем переменную где лежит репозиторий

SET SSDIR=\\SERVER\VSS\

Добавляем в PATH путь до ss.exe

SET PATH=%PATH%;C:\Program Files\Microsoft Visual Studio\VSS\win32\

И получаем сам список для текущего пользователя, если надо посмотреть для другого то вместо -U надо указать -UBasya

ss Status $/ -R -U

Инструмент для нарезки тайлов для Яндекс.Карт

В случае если надо использовать API Яндекс.Карт на своих данных, то возникает потребность нарезать слои на тайлы для необходимых масштабов. Сначала пользовалась скриптом для фотошопа, но рабочая система у меня убунту, поэтому фотошоп как-то не тру.
Поискала и нашла замечательную тулзу googletilecutter, которая отлично подходит для этих дел,надо только чтобы в системе был поставлен ImageMagick и advpng или pngcrush. Использовать, например, так :

bash googletilecutter-0.10.sh -o 17 -t 78749,44558 -z 17 -k map_17.png

Если вдруг возникнут вопросы по использованию, обращайтесь)

UPD: Обновился скриптец, теперь актуальная версия googletilecutter 0.11

Смена локализации в Adobe FlashBuilder

Хороша новая IDE от Adobe - Flash Builder (ранее известная как Flex Builder), но почему меня не спрашивают какой язык интерфейса выбрать! Локализованная версия FlashBuilder выглядит впечатляюще :D



Таким пользоваться только сильно-сильно не любить себя)) Для переключения языка интерфейса с русского на привычный английский надо проделать следующее:

в конфиге Gumbo.ini, который должен находиться по адресу [Install Path]/Gumbo.ini заменить ru_RU на en_EN.

Мной этот конфиг найден не был (его создание тоже не возымело эффекта), НО я нашла конфиг [Install Path]/eclipse-host-distro/eclipse.ini, где и проделала замену ru_RU на en_EN.


В результате FlashBuilder теперь английский!

Запуск .bat файла из сетевой папки

Был скрипт, который в тихом (silent) режиме ставил некоторый пакет программ, удалял предыдущие, накатывал обновления. Тестировалось всё это дело либо на локальном диске либо на сетевой шаре подключенной как диск(через net use). Все работало замечательно, пока не попробывали запустить батник напрямую из шары и тут нам выдало нелицеприятное:

Указанный путь был использован при запуске CMD.EXE в качестве текущей папки. CMD.EXE не поддерживает пути UNC. По умолчанию выбрана системная папка Windows.
И всё сломалось)) Теперь для батника текущая директория сменилась, была не та из которой он запущен (например \\server\data\),а стала С:\Windows, если мы выполним в этом скрипте dir, то нам выведется листинг системной папки винды) Соотвественно если в скрипте стоял запуск с относительными путями типа
Msiexec /I Install\setup.msi /qb
то установщик ничего не найдет(в системной папке ничего такого же нет!) и хорошенько ругнется;) А если у Вас стояла команда удаления файлов в текущей директории, хехе, то тут надо быстрее жать Ctrl+C иначе будет очень больно)))

Решения
данной проблемки нашлось два:

1. Указывать абсолютные пути
Путь откуда был запущен наш батник, то есть директорию запуска бат файла, можно получить через
%~dp0
В ней содержится строка вида "\\server\something\", таким образом надо дополнить запуск программ или еще чего что делает ваш скриптик:
Msiexec /I "%~dp0Install\setup.msi" /qb
1.1 Очень похож по методу на первый, с той лишь разницей что мы принудительно меняем каталог на тот из которого был запущен батник:
Msiexec /I "cd "%~dp0"
И таким образом можно опять использовать относительные пути

2. Заставить винду не ругаться на сетевые пути и не менять текущий каталог
В этом случае надо поправить кое-что в реестре, а именно выставить DisableUNCCheck в единичку. Создаем файл с расширением .reg и копируем туда этот текст:
REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001
Запускаем и радуемся, что теперь винда не ругается при запуске батника из шары и ничего не меняет;)

Надеюсь кому-нить пригодится))

Клонирование дисков VirtualBox

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

"C:\Program Files\Sun\xVM VirtualBox\VBoxManage.exe" internalcommands sethduuid newHardDisk.vdi
И всё, мы можем легко добавлять этот диск через "Менеджер виртуальных носителей". Затем создаем новую виртуальную машину, скармливая добавленный диск и вуаля, машина склонированна;)

Использование параметров командной строки в AIR приложениях

Попробую начать серию достаточно вольных переводов популярных статей, посвященных Adobe AIR и Flex, прошу сильно из-за возможных косяков не пинать :D

Итак, приступим. Оригинальная статья называется How do I use command line arguments with my AIR application? .

Многие приложения можно запускать с определенными ключами, переданными из командной строки, зачастую это является очень удобным. AIR также предоставляет такую возможность посредством подписки на событие InvokeEvent. Данное событие содержит аргументы, которые были переданы при запуске или во время работы приложения.

Обработка события InvokeEvent
Для начала надо подписаться на это событие у экземпляра NativeApplication в нашем приложении. Это можно сделать как в MXML, так и c помощью ActionScript :
MXML:

<mx:WindowedApplication
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="vertical"
    invoke="onInvoke(event)">
    ...
</mx:WindowedApplication>


* This source code was highlighted with Source Code Highlighter.

ActionScript :
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
При получении события список переданных аргументов находится в массиве arguments. Например, следующий код выводит список переданных ключей:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
    invoke="onInvoke(event)">
    <mx:Script>
    <![CDATA[
        private function onInvoke(event:InvokeEvent):void
        {
            if(0!=event.arguments.length)
                for each (var argument:String in event.arguments)
                {
                    txtArguments.text+=argument+"\n";
                }
        }
     ]]>
  </mx:Script>
  <mx:Label text="Arguments:" x="0" y="0"/>
  <mx:TextArea id="txtArguments" x="0" y="26" width="100%" height="100%"/>
</mx:WindowedApplication>


* This source code was highlighted with Source Code Highlighter.
Если запустить приложение с ключами
TestAir.exe help --user=root
То результатом будет:

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

Установка RedMine как службы

Имеем работающий RedMine+MySQL (под ОС Windows), запускаемый из консоли. Надо установить RedMine как службу. Мои действия были следующими:
1) Если MySQL не установлен как служба, то

mysqld-nt.exe --install

2) Переходим в папку ruby/bin

ruby/bin>gem install mongrel --include-dependencies

Если будет ошибка типа этой “ERROR: While executing gem … (Gem::RemoteFetcher::FetchError)”
То необходимо настроить прокси командой наподобие этой:

ruby/bin>set http_proxy=http://10.105.24.70:8080

3) При установке выбираем “3. mongrel 1.1.5 (x86-mswin32-60)”
4) Делаем

ruby\bin>gem install mongrel_service --include-dependencies

Выбираем
1. mongrel_service 0.3.4 (i386-mswin32)
1. win32-service 0.5.2 (mswin32)
5) Делаем

ruby\bin>mongrel_rails service::install -N RedMine -c "E:\wwwRedmine\RedmineLast\redmine-0.8.0" -p 3000 -e production

где
-N name это название устанавливаемой службы
-p NumPort это номер порта на котором будет запускаться служба

Вуаля, и мы имеем службу RedMine ;)

Яндекс.Метрика

Код отслеживания Google Analytics

Powered by Blogger