Simple Mouse Slower

Вам знакома такая ситуация?

mouse

Если да, то вы поймёте, зачем я сделал эту небольшую программу.

После запуска программа висит в трее и позволяет через горячие клавиши уменьшить чувствительность мыши примерно в три раза.

Горячие клавиши:

Alt + N — замедление происходит только во время нажатия и при отпускании скорость восстанавливается.
Alt + M — однократное нажатие включает/отключает замедление.

Скачать (56 Kb)

Для работы необходим установленный .NET Framework (можно скачать здесь, 869 Kb)

Конвертирование gif анимации в png-strip

Создание png-стрипа из gif-анимации (аргументы для тотала) с помощью ImageMagick.

 convert -coalesce %p%n +append %p%o.png

%p — путь к файлу

%n — имя файла

%o — имя файла без расширения

Другие варианты использования ImageMagick:
convert file.png -trim -identify

Выведет на экран информацию об вычисленной обрезаемой области, например:

sprite100.png PNG 1024×768=>631×502 1024×768+196+122 8-bit sRGB 0.000u 0:00.009

в последующим можно задать эти параметры для crop’а:

convert sprite*.png -crop 631x502+196+122 result.png

Если нужно просто разрезать большое изображение на несколько частей, можно напрямую задать требуемые размеры одной части:

convert big_image.png -crop 100x300 small_image.png

Конвертирование всех изображений png в jpeg:

mogrify -format jpg *.png

Увеличение максимального размера загружаемого файла в php.ini

Если при попытке закачать файл на сайт (например, при установке темы в вордпресс) выдаётся ошибка

The uploaded file exceeds the upload_max_filesize directive in php.ini

То вместо правки файла php.ini, можно просто добавить строки в файл .htaccess

#Change upload limits

php_value memory_limit 34M
php_value post_max_size 33M
php_value upload_max_filesize 32M
php_value max_execution_time 600

#Change upload limits end

Если файла нет, то можно создать его в текстовом редакторе и закачать в корневую директорию сайта.

Автоматическое обновление версии сборки в Visual Studio

Найденный на просторах интернета AutoBuildVersion в моей VS2010 запускаться совершенно не захотел, вылетая с ошибкой 80070057.  Дальнейшие поиски принесли скрипт, который менял версию в файле AssemblyInfo.cs, но была проблема — для запуска нужно было указывать разные параметры для каждой из конфигураций (Debug/Release).

Пара небольших изменений и всё стало работать… Итак…

Командная строка события перед построением:

"%CommonProgramFiles(x86)%microsoft sharedTextTemplating10.0TextTransform.exe" -a !!$(ConfigurationName)!1 "$(ProjectDir)PropertiesAssemblyInfo.tt"

Сам скрипт:

<#@ template debug="true" hostspecific="true" language="C#" #>
<#@ output extension=".cs" #>
<#@ assembly name="System.Windows.Forms" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="System.Text.RegularExpressions" #>
<#
    int incRevision = 1;
    int incBuild = 1;

    try { incRevision = Convert.ToInt32(this.Host.ResolveParameterValue("","","Debug"));} catch( Exception ) { incBuild=0; }
    try { incBuild = Convert.ToInt32(this.Host.ResolveParameterValue("","","Release")); } catch( Exception ) { incRevision=0; }
    try {
        string currentDirectory = Path.GetDirectoryName(Host.TemplateFile);
        string assemblyInfo = File.ReadAllText(Path.Combine(currentDirectory,"AssemblyInfo.cs"));
        Regex pattern = new Regex("AssemblyVersion\("\d+\.\d+\.(?\d+)\.(?\d+)"\)");
        MatchCollection matches = pattern.Matches(assemblyInfo);
        revision = Convert.ToInt32(matches[0].Groups["revision"].Value) + incRevision;
        build = Convert.ToInt32(matches[0].Groups["build"].Value) + incBuild;
    }
    catch( Exception ) { }
#>
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("J2H engine. Keys: F2 (Debug trace), F4 (Fullscreen), Shift+Arrows (Move view). ")]
[assembly: AssemblyProduct("journey engine")]
[assembly: AssemblyDescription("My engine for j2h")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyCopyright("Copyright © Dmitry 2013")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Setting ComVisible to false makes the types in this assembly not visible
// to COM components.  If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type. Only Windows
// assemblies support COM.
[assembly: ComVisible(false)]

// On Windows, the following GUID is for the ID of the typelib if this
// project is exposed to COM. On other platforms, it unique identifies the
// title storage container when deploying this assembly to the device.
[assembly: Guid("3c5c660e-2664-4ad2-909d-fe0b29e72be1")]

// Version information for an assembly consists of the following four values:
//
//      Major Version
//      Minor Version
//      Build Number
//      Revision
//
[assembly: AssemblyVersion("0.1.<#= this.revision #>.<#= this.build #>")]
[assembly: AssemblyFileVersion("0.1.<#= this.revision #>.<#= this.build #>")]

<#+
    int revision = 0;
    int build = 0;
#>

Скрипт помещается в файл AssemblyInfo.tt и заносится в Properties проекта, вместе с файлом AssemblyInfo.cs
Теперь при каждой сборке Debug-версии будет увеличиваться номер ревизии, а при каждой сборке Release-версии, будет увеличиваться номер сборки.

Установка ChiliProject под Windows 7

checking for stdint.h… *** extconf.rb failed ***

При установке RMagick под Windows 7, вылезала ошибка

C:rubytools>gem install rmagick
ERROR: Error installing rmagick:
ERROR: Failed to build gem native extension.
C:/Ruby192/bin/ruby.exe extconf.rb
checking for Ruby version >= 1.8.5... yes
checking for stdint.h... *** extconf.rb failed ***

Перепробовав разные способы, которые подсказал гугл, от ошибки так и не избавился.
Но всё же проблему удалось решить, вручную отредактировав PATH, добавив в него пути к бинарникам Ruby и DevKit:

C:rubyRuby187bin;c:rubyDevKitmingwbin;c:rubyDevKitbin;C:rubyImageMagick;

uninitialized constant

Позже, при выполнении

bundle exec rake db:migrate

вылезала ещё одна ошибка:

uninitialized constant Redmine::Acts::Journalized::Options::Class Methods::Configuration

После удаления Ruby 1.9.2 и установки Ruby 1.8.7 ошибка перестала появляться.