понедельник, 18 августа 2014 г.

Запускаем Sublime Text 2 из консоли в OS X

Если /usr/local/bin/ существует, то:


ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

Все, теперь можно открывать файлы, например, вот так

subl /etc/hosts

пятница, 7 марта 2014 г.

Запускаем PyCharm и другие IDE от JetBrains на OS X Mavericks

Sun вместе с Apple как всегда испортили обновление до очередной версии Mac OS X всем, кому только можно. Я специально выжидал достаточно большое количество времени прежде чем обновиться, чтобы избежать проблем, но тем не менее они все равно меня затронули - PyCharm (да и вообще все, что построено на IntelliJ IDEA, всякие Android Studio, к примеру) просто перестало запускаться. Это же может касаться и различных приложений на Java, которые либо просто не реагируют на открытие, либо просят поставить старую версию JDK.

Обновление JDK

Итак, первое, что нужно сделать – поставить JDK 1.7, если он по каким-то причинам у вас не установлен (хотя вряд ли, если вы ничего не шаманили с системой после обновления).

Чиним запуск Java-приложений

Далее ищем файл /Library/Java/JavaVirtualMachines/jdk1.7.0_45.jdk/Contents/Info.plist, открываем его текстовым редактором и ищем в конце строки:

<key>JVMCapabilities</key>
<array>
<string>CommandLine</string>
</array>

Эти строки заменяем на то, что ниже:

<key>JVMCapabilities</key>
<array>
<string>JNI</string>
<string>BundledApp</string>
<string>WebStart</string>
<string>Applets</string>
<string>CommandLine</string>
</array>

Теперь нужно разлогинится и зайти заново в систему - приложения на Java начнут работать.

Чиним запуск IDEA, PyCharm и прочих

Теперь находим app-файл соответствующего IDE, например, PyCharm. Кликаем по нему правой клавишей мыши, выбираем "Show Package Contents" и открываем текстовым редактором файл PyCharm.app/Contents/Info.plist

Там меняем строки

<key>JVMVersion</key>
<string>1.6*</string>

На следующие:

<key>JVMVersion<key>
<string>1.7*<string>

Все, теперь все запустится.

пятница, 24 января 2014 г.

Вывод локальных переменных функции с ошибкой

Иногда бывает необходимость посмотреть локальные переменные функции в python, которая вызвала Exception в самом верху стека вызовов.

Проще всего сделать это, воспользовавшись штатным модулем inspect внутри блока except:

inspect.trace()[-1][0].f_locals

пятница, 20 декабря 2013 г.

Игра для РЖД

За истечением давности решил выложить мини-игру, которую делал пару лет назад для РЖД :)

Внимание, флеш.

http://datagreed.ru/portfolio/trainwalk/

четверг, 19 декабря 2013 г.

Fireworks: Punch out для bitmap

Часто бывает нужно вырезать из битмапки какую-то форму "насквозь", чтобы сделать маску для элемента мобильного приложения.

Для векторных форм все просто – есть punch out, а как быть с битмапками? Я все время забываю это решение и не сразу его нахожу, поэтому привожу здесь:

Рисуем нужную векторную форму над битмапкой, делаем modify - convert path to marquee - и нужный кусок выделется. Остается толкьо выбрать нужные параметры сглаживания и нажать delete.

воскресенье, 15 сентября 2013 г.

Конвертация текстовых файлов из win-1251 в UTF-8

Это проблема начинает уходить в прошлое, но тем не менее, я иногда отправляю кому-нибудь файл в UTF-8, а получаю отредактированный в Win-1251, потому что виндовые редакторы полностью игнорируют оригинальную кодировку файла.

Как с этим справиться? Проще и быстрее всего с помощью enconv. В портах для OS X она называется enca (sudo port install enca).

После этого выручает:

 enconv -L ru -x UTF-8 <filename>

четверг, 25 апреля 2013 г.

Экспорт PNG-последовательностей из SWF

Если вам потребуется перевести SWF в последовательность PNG лучше воспользоваться не штатными средствами, а замечательной софтиной на Air под названием Kurst SWF Renderer. Среди полезных фич можно выделить возможность экспорта с любым FPS а также даунскейл –– очень удобно создать анимацию в два раза больше нужно и экспортировать с даунскейлом для лучшего сглаживания.