Category: tools

Programming Tools 2016

Those are my programming tools in 2016.  I do not put links- if you do not find them on google , please send me an email. Or comment here.

blog

Syntax Highliter
Windows live writer
WordPress

Communications

outlook
skype
Slack

Components

Angular
Asp.net mvc
Caliburn.Micro
Irony
Jquery
Jquery ui
jstree
knockoutjs
NPOI
Prism
Select 2
Selenium

Database

Elastic search
Mongodb
Sql server

NuGet

EntityFramework
ExporterWordExcelPDF
HtmlAgilityPack
iTextSharp-LGPL
MediatR
Microsoft.AspNet.WebApi.Client
nlog
NReco.VideoConverter
OneNoteOCR
structuremap
Swashbuckle.Core
T4MVC
Untiy
WebActivator
Westwind.RazorHosting
WinSCP
xunit

Presentations

powerpoint
reveal

ProgrammerUtilities

7zip
AutoHotkey
Excel
free commander
SysInternals ADSI
nugetpackage explorer
VS2015
WinMerge

RemoteUtilities

bginfo
keepass
terminals

Reporting

kibana
powerbi

ToDO Lists

coachme
Todoist
trello

VersionControl

git
mercurial
perforce

Dependency injection choice

For a personal pet project I have needed a DI framework . It relates to WebApi – I need to switch the provider for web api between a console and web – mostly authentication / logging different.

Some years ago was only StructureMap – but now there are a lot.

So I started to investigate to choose between the DI frameworks.

What I have wanted:

 

1. open license to use in a project – and source code too – to can upgrade.

2. Updated to the last .NET framework ( so , for .NET 10.0 , I will not be left to upgrade myself the source code – I am lazy too)

3. Speed

4. Last but not least:  easy to use – have some simple example to start me with

 

The first link found was:

http://fukyo-it.blogspot.ro/2012/10/comparing-net-di-ioc-frameworks.html  – it helps about license . Recomends Autofac. I was not very sure about.

Let’s see who have updated the source code to .NET 4.5 . I started looking at github and google code – and , yes, all are updating the source to the latest framework.

For speed I consider relevant http://www.palmmedia.de/Blog/2011/8/30/ioc-container-benchmark-performance-comparison  – if you look down , latest update was(quoting):

“17.11.2013: Added Grace. Updated several containers.”

Recommends  Simple Injector . And from his page seems simple to use.

So my choice is Simple Injector . If you use a DI, please say in the comments what DI and  why.

programming tools 2012

Those are the tools that I haved worked with in my previous year.
If you want to know how to utilize them, just ask me ;-).

All tools utilities

database

source code

framework

testing

Visual studio

firefox

chrome

azure

kinect

javascript

IDNameTagDescriptionUrl
(LocalDB) for sql server 2012programming tool;databasefinally, a deploy fast database http://www.microsoft.com/web/platform/database.aspx
.tt filesprogramming toolprogrammer best fried to generate code from database
7-ZiputilitiesCan handle archive files (zip, rar, iso and many others)http://www.7-zip.org/
all in one gesturesfirefox addonsclose - open pages fasthttp://marc.boullet.pagesperso-orange.fr/ext/extensions-en.html
AutoFixtureframework; dataauto generating datahttp://autofixture.codeplex.com/
AutoMapperprogramming toolmapping from database models to ViewModels - to preserve database independencehttps://github.com/AutoMapper/AutoMapper
azure providersazure toolsazure storage data accesshttp://code.msdn.microsoft.com/windowsazure/Windows-Azure-ASPNET-03d5dc14
azure storage explorerazure toolsazure acces demohttp://azurestorageexplorer.codeplex.com/
chrome developer toolschrome addondebugging js code, see html, modifying
CleanProjectutilities; visual studiocleans bin and zip a projecthttp://wf.codeplex.com/releases/view/70595
codeplexprogramming tool;source codesource code version system;just onlinehttp://www.codeplex.com/
Coding4Fun Kinect Toolkitkinect toolsadditional helper for kinecthttp://c4fkinect.codeplex.com/
cvsprogramming tool;source codesource code version system;could be installed locallyhttp://www.nongnu.org/cvs/
datatablesframework;javascripttables on steroidshttp://www.datatables.net/
dosboxutilities;dosrunning old programshttp://www.dosbox.com/
Ef profilerdatabaseInstrumenting entity framework commands and seeing problemshttp://www.hibernatingrhinos.com/products/efprof
ef rebinderprogramming toolcomposing expressionshttp://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx
entity framework 4.xframework;databasedatabase handling POCOhttp://msdn.microsoft.com/en-us/data/ef.aspx
fiddlerprogramming toolintercepting http requestshttp://www.fiddler2.com/fiddler2/
file zillautilities;ftpupload sites and utilitieshttp://filezilla-project.org/
FileHelpersframework;readerRead in various file formats - csv, etchttp://filehelpers.sourceforge.net/
Firefox addonsprogramming tool; addonsA collection of firefox addonshttps://addons.mozilla.org/en-US/firefox/collections/ignatandrei/ignatandrei/
forecastfox weatherfirefox addonsweatherhttps://addons.mozilla.org/en-US/firefox/addon/forecastfox-weather/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
foxit readerutilitiespdf fast readerhttp://www.foxitsoftware.com/Secure_PDF_Reader/
free commanderutilitiesfile manager - 2 panelshttp://www.freecommander.com/
ghost docaddon visual studiogenerating commentshttp://visualstudiogallery.msdn.microsoft.com/46A20578-F0D5-4B1E-B55D-F001A6345748
githubprogramming tool;source codesource code version system;just onlinehttps://github.com/
github for windowsprogramming tool;accesing git fasthttp://windows.github.com/
google chromeutilities;browserhtml viewer ;-)http://www.google.com/intl/ro/chrome/browser/
html tidychrome addonverify htmlhttps://chrome.google.com/webstore/detail/html-tidy-browser-extensi/gljdonhfjnfdklljmfaabfpjlonflfnm
html validatorfirefox addonsvalidate html corectness( first step in design)https://addons.mozilla.org/en-US/firefox/addon/html-validator/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
HtmlAgilityPackframework;htmlHtml request as XMLhttp://htmlagilitypack.codeplex.com/
ieutilities;browserhtml viewer ;-)
ie developer toosie addondebugging js code, see html, modifying
IIS 7programming tooldeveloping websites on local - make same as for deployment on serverWindows 7
IIS SEO Toolkitprogramming tool;iisseo done fasthttp://www.iis.net/downloads/microsoft/search-engine-optimization-toolkit
imacros for firefoxfirefox addonsautomate testinghttps://addons.mozilla.org/en-US/firefox/addon/imacros-for-firefox/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
Internetutilities;programming toolprogrammer best fried to search for help; blog posts; knowledge sharing
itextsharpframework;pdfmaking pdf fileshttp://sourceforge.net/projects/itextsharp/
javascript date formatjavascriptdate time formathttp://blog.stevenlevithan.com/archives/date-time-format
Jenkinsprogramming tool;continous integrationautomatically run testshttp://jenkins-ci.org/
jqueryframework;javascriptjavascript on steroidshttp://jquery.com/
jquery alpha numericframework;javascriptalpha numeric for textboxhttps://github.com/johnantoni/jquery.alphanumeric
jquery numericframework;javascriptnumeric for textboxhttps://github.com/SamWM/jQuery-Plugins/tree/master/numeric/
jquery uiframework;javascripttab control;dialog;autocomplete;date pickerhttp://jqueryui.com/
jquery watermarkframework;javascriptwatermark for textboxeshttps://github.com/sagivo/jQuery-Watermark
json2framework;javascriptfor old iehttps://github.com/douglascrockford/JSON-js
kinect contribkinect tools;visual studiovisual studio template for kinecthttp://kinectcontrib.codeplex.com/
kinect sdkkinect toolskinect sdk with demohttp://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx
kinect toolboxkinect toolsdetection of gestureshttp://kinecttoolbox.codeplex.com/
knockoutframework;javascripttemplating on javascripthttp://knockoutjs.com/
leech blockfirefox addonsproductivity - do not look at internet sites( facebook)https://addons.mozilla.org/en-US/firefox/addon/leechblock/?src=collection&collection_id=cdc80549-8e05-e4fc-8e90-5f3d977492b8
log4netframework;logginghelp to log various information; does not been imporved from some timehttp://logging.apache.org/log4net/
lumisoftframework;emailemail readerhttp://www.codeproject.com/Articles/16423/LumiSoft-MailServer
magic diskutilitiesmounting isohttp://www.magiciso.com/tutorials/miso-magicdisc-overview.htm
measure itfirefox addonsfind length in the browserhttps://addons.mozilla.org/en-US/firefox/addon/measureit/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
measure itchrome addonfind length in the browserhttps://chrome.google.com/webstore/detail/measureit/aonjhmdcgbgikgjapjckfkefpphjpgma
Microsoft Visual Studio Proffesional 2010 + 2012( +Express)IDEFavorite programming toolhttp://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products
Moqframework;mockingmocking tool ; testinghttp://code.google.com/p/moq/
morning coffeefirefox addonsload sites on clickhttps://addons.mozilla.org/en-US/firefox/addon/morning-coffee/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
msbuildprogramming toolproviding actions to deploy autmoatically and many others
msbuildtaskprogramming tool;buildall kind of task run after buildhttp://msbuildtasks.tigris.org/
mvc3 + mvc4framework;websiteFavorite developping websites frameworkhttp://www.asp.net/mvc
nlogframework;logginghelp to log various information; does not been imporved from some timehttp://nlog.codeplex.com/
notepad ++utilities;programming tooleditorhttp://notepad-plus-plus.org/
nugetaddon visual studioAll kind of frameworks for vshttp://nuget.codeplex.com/
OfficeOpenXMLPart4reference; officeMarkupLanguageReference  for Office XML.(Excel, word)http://msdn.microsoft.com/en-us/office/bb265236.aspx
page speed insightchrome addonmeasure web site performancehttps://developers.google.com/speed/docs/insights/using_chrome
paint.netutilities;imagehttp://www.getpaint.net/
PowerCommandsaddon visual studiotransform tt templates per projecthttp://visualstudiogallery.msdn.microsoft.com/e5f41ad9-4edc-4912-bca3-91147db95b99
productivity power toolsaddon visual studiocommand prompt, may othershttp://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef
psrprogramming tool;helpgenerating helpWindows 7
RazorframeworkMVC simple write mixed code server /html
razor code generatormvc;addon visual studioput MVC views in a dllhttp://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html
Regulator and Regulazyhelpersregular expression helpershttp://osherove.com/tools
resolution testchrome addontest in broser for different resolutionshttps://chrome.google.com/webstore/detail/resolution-test/idhfcdbheobinplaamokffboaccidbal
reverse equalityaddon visual studioreversing data boundhttp://visualstudiogallery.msdn.microsoft.com/a70ec2bf-8787-4da1-9b62-0f3a3f92758c
Save_playlist_in_order_to_mp3_player_V3_2utilities;winamp addonsave playlisthttp://www.winamp.com/plugin/save-pl...ayer-v4/221680
select2javascriptdropdown list on steroids( ajax infinite completing…)https://github.com/ivaynberg/select2
seleniumfast testing htmltesting html easyhttp://seleniumhq.org/
send to kindlechrome addonread later various pageshttps://chrome.google.com/webstore/detail/send-to-kindle-for-google/cgdjpilhipecahhcilnafpblkieebhea
skypeutilities;communicationvoice and video sharinghttp://www.skype.com/
smtp4devframework;smtplocal email server;helps seeing messages;http://smtp4dev.codeplex.com/
Sql CE 4.0programming tool;databasefinally, a deploy fast database http://www.microsoft.com/en-us/download/details.aspx?id=17876
sql search from RedGatesql server manager addonsearch text in columns names and stored proc contenthttp://www.red-gate.com/products/sql-development/sql-search/
sql serverprogramming tool;databaseExpress version free; databasehttp://www.microsoft.com/web/platform/database.aspx
sql server managerutilities;databaseExpress version free; database management
string templateframeworkgenerating codes from data and visualization; razor avant la letter; coulkd generate excel XMLhttp://www.stringtemplate.org/download/
structure mapprogramming tooldependency injection - code for testinghttp://docs.structuremap.net/
svnprogramming tool;source codesource code version system;could be installed locallyhttp://subversion.apache.org/
sysinternalshttp://technet.microsoft.com/en-us/sysinternals/default.aspxprocess explorer;blue screen;http://technet.microsoft.com/en-US/sysinternals
T4MVCprogramming tool;mvcgenerating MVC nameshttps://github.com/AutoFixture/AutoFixture
table pressblogthis post was made with table press( and some modifs)http://tablepress.org/
tfsprogramming tool;source codesource code version system;could be installed locally
tfs power toolsprogramming tool; source codeintegration with explorerhttp://visualstudiogallery.msdn.microsoft.com/b1ef7eb2-e084-4cb8-9bc7-06c3bad9148f
tiny mceframework;javascripthtml editorhttp://www.tinymce.com/
tortoise svnprogramming tool;source codeintegration with explorerhttp://tortoisesvn.tigris.org/
TroyGoode-PagedListframeworkMVC provider for simple paginghttps://github.com/TroyGoode/PagedList
trx2htmlutilities; visual studiotest results to htmlhttp://trx2html.codeplex.com/
vlc media playerutilitiesvideo playerhttp://www.videolan.org/vlc/index.html
vs2010 testgenerating data for .load testgenerating code for test ; could modify; database generated id's
web developerfirefox addonsinvestigate site html + css + js + …https://addons.mozilla.org/en-US/firefox/addon/web-developer/?src=collection&collection_id=cdc80549-8e05-e4fc-8e90-5f3d977492b8
Web Essentialsaddon visual studioJIT debugging for HTML - no refresh requiredhttp://visualstudiogallery.msdn.microsoft.com/07d54d12-7133-4e15-becb-6f451ea3bea6
winamputilitiesmusic playerhttp://www.winamp.com/media-player/ro
windows live writerutilities;bloggingblog made easy from desktophttp://www.microsoft.com/ro-ro/download/details.aspx?id=8621
winmergeprogramming tooldifference files /folders ( versions from source code)http://winmerge.org/
wordpressblogthis bloghttp://wordpress.com/
xunitframework;testingtesting programs; VS independenthttp://xunit.codeplex.com/
yahoo messengerutilities; communicationvoice and video sharinghttp://messenger.yahoo.com/
yahoo slowfirefox addonsmeasure web site performancehttps://addons.mozilla.org/en-US/firefox/addon/yslow/?src=collection&collection_id=32a82248-7a5b-321b-0b2b-5efe80a10730
yahoo slowchrome addonmeasure web site performancehttps://chrome.google.com/webstore/detail/yslow/ninejjcohidippngpapiilnmkgllmakh
zip sharpframework;zipmaking zip fileshttp://www.icsharpcode.net/opensource/sharpziplib/

You can download as pdf my 2012 tools
If you want more explanations about those tools, I am ready to help you. Please contact me at ignatandrei@yahoo.com . I was a teacher – so I can explain easy the programming aspects.
If you have used others, please propose in comments.

Azure tools

Azure storage Explorer : http://azurestorageexplorer.codeplex.com/  – like in VS , but simpler and cleaner

Windows Azure ASP.NET Providers Sample : http://code.msdn.microsoft.com/windowsazure/Windows-Azure-ASPNET-03d5dc14 – utils for fast membership and roles. Small problem on local.

More samples here: http://code.msdn.microsoft.com/windowsazure/

And that will be all , after reading the documentation and understanding the concepts ( for example,if you understand the session problem in azure, then you will find a Session provider in the samples and use it)

Kinect

imageimage

I have the opportunity to borrow a Kinect hardware  – to make an application( I will make a simple anti-theft application).

The steps for developing in Kinect are:

  • Download the SDK from http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx – it contains the drivers also
  • Connect Kinect to USB , plug in the socket
  • Run the Kinect Explorer or Kinect Shape Game from Kinect SDK Sample Browser installed at 1.  Ensure it works.
  • Read the Kinect Explorer source –it is SO clear!
  • Read documentation – finally, you should RTFM Winking smile

Optional resources:

  1. http://kinectcontrib.codeplex.com/ – Visual Studio template for Skeleton, Audio, Video. Simple example that works ( simpler than Kinect Explorer !)
  2. http://c4fkinect.codeplex.com/ – added methods to Kinect.
  3. http://kinecttoolbox.codeplex.com/ – detection of gesture.

Example 1: Integrating saving image in Kinect Explorer when a skeleton is detected

Add reference to optional resource 2( either download , either via Nuget)

Search for  KinectAllFramesReady in KinectSkeletonViewer.xaml.cs and put this code

						var takePic = this.skeletonData.Count(item => item.TrackingState == SkeletonTrackingState.Tracked) > 0;

						if (takePic)
						{
							DateTime imgDate = DateTime.Now;
							string imageName = "andrei" + imgDate.ToString("yyyyMMdd_HHmmss") + ".jpg";
							if (!File.Exists(imageName))
							{
								using (var image = e.OpenColorImageFrame())
								{
									if (image != null && this.skeletonData.Length > 0 && this.skeletonData.Count(item => item.TrackingState != SkeletonTrackingState.NotTracked) > 0)
										if (image != null && takePic)
										{
											var x = image.ToBitmapSource();
											var b = Save(x, ImageFormat.Jpeg);

											var t = Task.Factory.StartNew(

												(img) =>
												{

													imgDate = DateTime.Now;
													imageName = "andrei" + imgDate.ToString("yyyyMMdd_HHmmss") + ".jpg";
													if (File.Exists(imageName))
														return;
													byte[] i = img as byte[];
													if (i != null)
													{
														File.WriteAllBytes(imageName, i);
													};
												}, b);
											//t.Start();
										}
								}
							}
					}

Example 2 : Detecting circle by right hand in Kinect Explorer when a skeleton is detected

Add reference to optional resource 3( either download , either via Nuget)

Download circleKB.save file and put in your project. Ensure “Copy to output directory” is “copy always/copy if newer”

Add a variable named

TemplatedGestureDetector circleGestureRecognizer;

In KinectSkeletonViewer.xaml.cs in constructor put

			using (Stream recordStream = File.Open("circleKB.save", FileMode.Open))
			{
				circleGestureRecognizer = new TemplatedGestureDetector("Circle", recordStream);
				circleGestureRecognizer.OnGestureDetected += new Action<string>(circleGestureRecognizer_OnGestureDetected);
//TODO : implement circleGestureRecognizer_OnGestureDetected : void circleGestureRecognizer_OnGestureDetected(string obj)
			}

Search for KinectAllFramesReady in KinectSkeletonViewer.xaml.cs and put this code


foreach (Joint joint in skeleton.Joints)//existing code
							{
								Point mappedPoint = this.GetPosition2DLocation(depthImageFrame, joint.Position);//existing code
								jointMapping[joint.JointType] = new JointMapping//existing code
									{
										Joint = joint,
										MappedPoint = mappedPoint
									};
//new code from here:
									 if ((joint.TrackingState == JointTrackingState.Tracked) && (joint.JointType == JointType.HandRight))
									{
											circleGestureRecognizer.Add(joint.Position, Kinect);
									}

							}

That will be all…
If you have developed with Kinect, please share your sources as comments.

Programmer tools 2011

List of programmer tools

I have re-installed the PC and I have been taken notice of what tools I have on the system now:

  1. Magic Disc – can mount .iso files ( for  2 )
  2. Visual Studio – must have for a easy developing path
  3. Sql Server 2008 – primary database for me
  4. 7-zip  – archiver
  5. Firefox ( plus addons, see below)
  6. Smtp4dev – to see messages
  7. AspNetMVC3ToolsUpdateSetup
  8. FreeCommander –  dual panels for windows explorer
  9. Foxit reader – pdf viewer
  10. Notepad ++ ( with hex addon)
  11. Winmerge – files/ folders difference
  12. Clean project – archive solution
  13. SqlSearch from RedGate – fast search after names
  14. SSMS tools – record every operation you do in sql server
  15. EntityFramework41  – code first development
  16. XUnit – automated testing + samples  to do BDD style
  17. SSCERuntime_x86-ENU –SqlCompact provider. Works with EF4.1
  18. SqlCe40Toolbox – SqlCompact viewer
  19. NuGet.Tools.vsix – Nuget is awesome!
  20. ImgBurn  – burn cd-s
  21. consolas font  – see  1 and l ?
  22. LogParser  – never know when you need to parse some files
  23. Moq  – mocking tool
  24. PreviewHandlerPack  -see c# code in preview window
  25. Regulator and Regulazy – regular expression helpers
  26. StringTemplate.NET  – templating generator. Maybe replaced by razor ?
  27. NLog –  logging tool. Log4Net was pretty unreliable in .NET 4
  28. FileHelpers – reading writing text data.
  29. Tcmdwincearm – Total Commander for mobile. Free.
  30. Jquery and Jquery UI.
  31. DataTables – html tables supports sorting , filtering, others.
  32. Windows Live Essential – blogging fast.
  33. InsertFilePlugin – Live writer extension to insert files to upload.
  34. OfficeOpenXMLPart4-MarkupLanguageReference  – markup for Office XML. Used with StringTemplate
  35. SharpZipLib – knows how to zip multiple files.
  36. AutoFixture – generating sample data
  37. HtmlAgilityPack – parsing web pages
  38. T4MVC – get rid of magic names for controllers, actions
  39. Itextsharp – save as pdf
  40. Ninject – DI provider
  41. Hudson – continous integration
  42. AutoMapper  – transferring data between DAL and BLL
  43. Selenium – testing web interfaces
  44. Svn  -source control
  45. MVC Contrib – pages list and more
  46. Msbuildtask from tigris – build make it easy
  47. Psr – help made easy in Windows 7
  48. Firefox addons here

https://addons.mozilla.org/en-US/firefox/collections/ignatandrei/ignatandrei/

For every tool search for it . The first link will give you all details.

You can have as pdf here:List of programmer tools 2011

MVC Zip Result

Sometimes you need to send to the user more than 1 file – or, maybe, the file is too large
The simplest way is : made a zip file that contains the others.

What do you need
1. SharpzipLib from http://www.icsharpcode.net/opensource/sharpziplib/ ( or download via NuGet in VS)
2. obtain the file(s) that you want as a string or as a byte[] – let’s say you have a byte[] to store in a str variable
3. make in your action something like that:

 var fcr = new ZipResult("Export.xls", str);
            fcr.AddFile("readme.txt","this zip file contains ..");
            return fcr;

4. copy the following code in your asp.net mvc projects:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.IO;
using ICSharpCode.SharpZipLib.Zip;
using System.Text;

namespace utilsResult
{
    public class ZipResult : FileResult
    {

        
        private Dictionary<string, byte[]> content = new Dictionary<string, byte[]>();
        public string FileNameZip;
        public ZipResult(string FileName, byte[] Contents)
            : base("application/octet-stream")
        {
            this.FileDownloadName = Path.GetFileNameWithoutExtension(FileName) + ".zip";
            AddFile(FileName, Contents);
        }
        public void AddFile(string FileName,  byte[] Contents)
        {
            content.Add(FileName, Contents);
        }
        public void AddFile(string FileName,string Contents, Encoding e = null)
        {
            if (e == null)
                e = ASCIIEncoding.ASCII;

            content.Add(FileName, e.GetBytes(Contents));
        }

        protected override void WriteFile(HttpResponseBase response)
        {

            using (ZipOutputStream zos = new ZipOutputStream(response.OutputStream))
            {
                zos.SetLevel(3);
                zos.UseZip64=UseZip64.Off;

                foreach (var item in content)
                {
                    ZipEntry ze = new ZipEntry(item.Key);
                    ze.DateTime = DateTime.Now;                    
                    zos.PutNextEntry(ze);
                    int count=item.Value.Length;
                    zos.Write(item.Value, 0, count);
                   
                    
                }                
            }
        }
    }
}

5. future improvements:
Zip the file(s) in a dll project to made fully testable!