Software tools

Various tools:

(there is also a list as a blog article here – one day I will hopefully do a spring cleaning)
(I have jotted down where the tool lives (win/osx/web/java etc.) and an approximate year when I last considered the tool as worthy.)

Agent ransack – windows, 2015

I have used this freeware for years. It is a fast and powerful program that searches inside text files. It also does regex, both on file names and contents. At least earlier it has a simple user interface for creating simple regex. It is also fast, and even faster the second time when stuff are cached or indexed.

https://www.mythicsoft.com/agentransack

Autohotkey – windows, 2015

This freeware makes it possible to automate simple tasks. There is a simple (ugly) language to do simple stuff like writing today’s date when you press F3 or more complex stuff like starting applications and navigating them. I have used it for moving the windows with windowbutton-arrows before it was implemented by Microsoft in WinVista. By the time of writing I use it for simple stuff like writing today’s date whenever i write “odate”.

http://www.autohotkey.com/

Approvaltests – windows, 2012

When doing automated (i.e. unit test) tests and comparing/asserting/verifying complex objects or long strings I have noticed it being fiddly. In the former case one has to do a lots of asserts – which makes the assert part of the test hard to read, or extend the class with a (custom) equality operator, or move the list of asserts for a class to a helper method. In the latter case one has to copy strings into an editor and search by eye; tedious.

The open source Approvaltests solves the first case by converting (with some of your custom code) to a string and then compare the strings. Which leads it to the second case which it solves by presenting the string comparison result in a friendly way.

Unit tests and comparing long strings or objects
http://approvaltests.com/

CarloSag CodeTranslator – online translator C#<->VBNet<->Java<->Typesctipt – web, 2016

There is another code translator that ranks higher on Google but I tend to never get an answer so this is the one I use.
I use it mainly for C#<->VBNet. It only handles snippets and not projects or files.
It cannot handle åäö and does not understand that ”’ should be translated to /// but a lot of other tedious translation tasks.

http://www.carlosag.net/Tools/CodeTranslator/

CodeCompare – diff and merge tool with source code awareness – windows, 2017

Something I have looked for a long time is a source code diff tool that has knowledge about what code is.
Example: If you swap two methods the ordinary diff tool doesn’t know that “nothing” is changed; instead it shows a whole block of red and yellow to show that code has been deleted, added and moved. For two 10 rows method this is ok but when it happens to a 100 rows class one cannot see what really happened.
CodeCompare takes a stab at this in its payed version (which also means I haven’t tried it). But I do use the gratis version.
The payed version also does 3 files comparison. I have used a gratis (or was it free) diff program for this years ago and it was really useful that time I needed it. Can’t remember which it was though.
I think WinMerge has a slightly nicer keyboard shortcuts, but that can be because I have more hours with WinMerge than CodeCompare.

Presently I use Kdiff3. F/OSS and 3 ways compare. After I learned the ctrl1/2/3 shortcut I stopped complaining about the GUI.

http://www.devart.com/codecompare/
http://winmerge.org
kdiff3.sourceforge.net

Collabedit – online text collaboration – web, 2015

Instead of ping ponging text back and forth just open a simple text document in Collabedit and you can see edits in real time.
You go to Collabedit, ask for a new document and receive a 5 character token in the URL. Just send, or say, the URL to y0ur partner and hey presto – online text collaboration.

http://collabedit.com
Example (if it isn’t removed): http://collabedit.com/ra5es

Ditto – multiple copy/paste – windows, 2015

Having a multiple clipboard is so convenient. It is a bit like multiple monitors, once you have tried you don’t want  to go back.
Now there is already a multiple clipboard in Visual studio (just ctrl-shift-v next time you paste (every time you ctrl-shift-v it chooses the earlier clip)) and I guess there is one in MSOffice too, but that is not the same thing as having it system wide.
Note: It remembers usr/pwd copied too. Especially if you use Keepass, or similar, for saving and copy-pasting usr/pwd you should be aware you are storing usr/pwd in clear text.

http://ditto-cp.sourceforge.net/

DotnetFiddle – web, 2015

It is a JsFiddle for dotnet. Navigate to Dotnetfiddle in your browser and you have not only compiler and runner but also intellisense. Very nice for testing out snippets. I have used it for doing camelCasing; instead of creating a new project in Visual studio I just used my browser. I could then send the link to my code and even collaborate with my colleague in the very code. For talking about code without looking at the same screen it also works – start collaboration and you can see the same code and even each others mouse pointer.

http://dotnetfiddle.net

Dpack – making it easier to find files and methods in Visual studio – windows, 2015

I use this plugin all the time for opening files and finding methods within.
Visual studio and Resharper are slowly catching up but for finding files and methods in the file you are, Dpack is still the best.

I have for years just pressed alt-U to open a dialog where I can write a part of a file name and see corresponding files in a list. A feature Visual studio has finally got native; but still not as good.
For finding methods I just press alt-M and start writing something I know of the method name. Visual studio still lacks this.
Last time I checked Resharper did not have as good a solution either.
There are more features in Dpack but I seldom use them.
Dpack is open source.
http://www.usysware.com/dpack/

 Ghostery – delete those pesky tracking cookies – web browser plugin, 2017

Not a tool per se but a browser plugin to remove tracking cookies.
Support is lacking for mobile browsers but I have it working in my Firefox mobile on Android.
I believe Facebook is getting around Ghostery’s detection on their link landing page.

https://www.ghostery.com/

Heidisql – yet another sql/rdb tool – win, free – 2017

I have tried this sql/rdb tool against Sqlserver(2016). It has some advantages over SSMS;
starts blazingly fast, has a less fiddly UI for inspecting columns(it behaves more like Toad), it can free text search in the whole database, it is open source(Pascal), it can be installed as portable(i.e. on a server without disturbing the rest of the server), or through Chocolatey, it handles other databases than Sqlserver, it can query the query you are standing on instead of the whole document.

I use it side by side with SSMS.

http://www.heidisql.com

Hide main menu – hide the menu bar in Visual studio – visual studio, 2017

I am a fan of not having a lot of buttons and tools cluttering my work space. This extension hides the menu. The shortcuts still work and one can always bring the menu forth by a press on the alt button (windows standard).

https://visualstudiogallery.msdn.microsoft.com/bdbcffca-32a6-4034-8e89-c31b86ad4813

JsFiddle – online javascript doodling – web, 2014

For testing simple javascript solutions without having to set up; just select what frameworks and their versions, enter javascript, html and css, behold result.
Since it lacks debugging capabilities it isn’t very good for trying out too advanced stuff but for sending showing working code to others.
http://jsfiddle.net

There is also Dotnet fiddle for dotnet. It runs on a server somewhere so some restrictions apply.

Keepass – client side password manager – multiple platforms, 2016

Too many passwords requries a password manager. My tool of choice is Keepass since it is 1) open source and 2) client side. I then rely on its cryptographic powers and keep the data file in a synced folder so I have my usr/pwd on every device of choice.

http://keepass.info/

Manoli C# code format – online c# code formatting – web, 2012

Formatting source code to HTML, useful when posting to certain forums (that aren’t stack overflow).

http://www.manoli.net/csharpformat/format.aspx

Ncrunch  – used for speeding up test writing – windows, 2015, €

Ncrunch is a tool that integrates into Visual studio and runs the tests continuously. It also updates the source code, not only the tool box, with colours and icons that shows test coverage and test result. I have used it on a smaller library and it worked stupendously. On a slightly larger, still small according to my ruler, web project it failed. I cannot say if it was because of me or of my setup of the tool.

I have tested Jetbrain’s Resharper solution for continuous test but it messes up the colour coding and made the code too hard to read for my liking.

http://www.ncrunch.net

Pastebin – putting source code snippets online and collaborate – web, 2012

Sending source code to and fro others without the email ping pong.
There are several of this kind of site with different levels of functionality.

http://pastebin.com/

Papercut – simple client application for mimicking a email SMTP server – windows, 2015

When developing a solution that sends email one must have an SMTP server. One can use google’s or set up one on the dev machine. For Windows this is not hard but takes some clicks and googling and time to get right.
So I use Papercut that is a client application that grabs everything coming at port 25. There is no setup, just start the application and your emails start popping up. It also shows a ballon in systray so one doesn’t have to cool switch to it all the time to see if the email has been sent. A drawback is that it crashes for me from time to time.

http://papercut.codeplex.com

On a side note there is also Pickupmailviewer that solve s a slightly different email development problem.

https://github.com/albinsunnanbo/PickupMailViewer
http://coding.abel.nu/2015/03/pickup-mail-viewer/
 <- A smart use of PickupMailViewer when you have a test environment sending mail but no way to get to them.

Parallels

I use virtual machines for development. Presently I use Parallels but there are more solutions.

https://www.selfelected.com/virtual-machine-developing-on-a-vm/

Queryexpress – a free windows sqlserver sql client – windows, 2010

Running SQL queries without having to install something (e.g. ms query analyzer or ms server manager).
Useful when working with servers close to production.
JAlbahari’s is the original but has since moved on to query explus.

http://www.albahari.com/queryexpress.aspx <- query express
http://sourceforge.net/projects/queryexplus/ <- query explus

Regex  – online exploration and testing – web, 2015

I tend to come back to Rubular for testing out regex although it runs Ruby regex and I mainly work in Dotnet. The reason for this is usability.

http://rubular.com

Snipping tool – windows and osx screen and part-of-screen grabbing tool – win, osx, 2015

Snipping tool is already built in, at least in Win8.
Besides grabbing the screen, a window or a rectangle it provides very simple annotations.
Just open the start menu and write snipping.
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\Snipping tool
which leads to C:\Windows\system32\SnippingTool.exe

For OSX it is called Grab.
Just write grab in spotlight.

See Steps recorder below for automatic grabbing.
There is a newer Snip from the MSOffice team but I have not tried it.

Steps recorder – win, 2015

Steps recorder was a serendipity for me in Win8. I believe it is runnable in Win7 too but I doubt the binaries are there.
Just start Steps recorder, and it grabs the screen every time you do something and dumps it in a document together with a textual description.

Just type steps rec in the start menu.

Steps recorder in start menu

Steps recorder in start menu

Or start it through %windir%\system32\psr.exe.

For another screen recording tool see Jing at https://www.techsmith.com/jing.html which does video recording; instead of image dumps to a document like Steps recorder does. I have not tested Jing.

See for momentaneous grabs see Snipping tool above.

Sql complete – win, 2016

Devart Sql complete is an extension to Microsoft sql server management studio, aka SSMS, which makes it possible to execute the line/query you are on instead of all queries in the document. Just like Toad.

Say you have a document with 2 select queries and just want to execute one. Normally you would have to highlight the query you want to run and then ctrl-E. Totally doable but irritating. With Sqlcomplete just press ctrl-shift-E instead.

It also provides better/different intellisense.

The simpler variant, which contains above mentioned functionality, is gratis.

https://www.devart.com/dbforge/sql/sqlcomplete/

Untested but looking interesting

Asafaweb – (semi) automatic vulnerability check of an aspnet web site

Run it once or on a schedule. It mainly discovers configuration errors. Afaik it is gratis.
https://asafaweb.com/

BareTail – like *nix’s tail, watch the last rows in a log file as new records come in – windows, 2014

Instead of opening a log file and then ctrl-end to the bottom of the text file one can let the viewer scroll down by itself. It’s like *nix’s tail but with colours and border.
Free but not open source.

Notepad++ now has functionality like tail -f. It does not seem to work for large files though.

https://www.baremetalsoft.com/baretail/
https://notepad-plus-plus.org

Fasterflect – dotnet reflection library – Win, 2016

I started writing some reflection i needed in CompulsoryCow. Perhaps, perhaps this is already written in Fasterflect.

https://fasterflect.codeplex.com

Mizage – window handing – OS X, 2016

In Windows one can reposition the windows with the keyboard. OSX requires a keyboard.
Mizage should be a solution to this.

https://mizage.com/divvy/

Openrefine – stand alone F/OSS application for washing data – java, 2014

Have you ever gotten data from the business division and “it should be a breeze to just import” and 2 days later you are still finding dirty data to have to work around. I have.
An often used method is to import the data into a spreadsheet and start transforming and washing; to find out after a while that some data was destroyed during the washing.
This tool does better by 1) being dedicated to washing and 2) having a stack with what is done. This should also mean that the same manipulation can be done next month when new, less than perfect, data is sent from the business.

Update: I have now tested it but still keep it under “untested” section since I didn’t have time to play with it properly. The GUI is strange and take a while getting used to. Not more or less strange than copy-paste functionality in Excel I suppose. The built-in language was not very powerful for the tasks I wanted to solve; you probably have other needs.
http://openrefine.org/

I have discovered, but not tested, Wrangler that does approximately the same but online. Easier install (none) but less privacy.

http://vis.stanford.edu/wrangler/

Semantic merge – a merge tool with language domain knowledge – osx?, win, dotnet, java, (javascript), 2014

(Almost) all source code merge tools are text and line based. This means they have no knowledge about what a class, a variable, a constant or an if statement is; it can’t differ between added-and-removed code and switching places between two methods. Semantic merges promises otherwise, it has knowledge about the language and can differ between structural changes and semantic.
I have missed such a tool for a long time but still haven’t gotten around to examine Semantic merge.
http://www.semanticmerge.com/

*EOF*