
I’m offline for the holidays

Below a list of tools I use today. If you’re like me, you check them out and add the ones you like to your own toolbox.
Image courtesy of vectorolie / FreeDigitalPhotos.net
Chocolatey, installation automation. I’ve written about it before on my blog. (See posts)
F.lux, it makes the color of your computer’s display adapt to the time of day
7-zip, the new standard in compressing files
DropBox, file share/sync between computers and the internet
Chrome, best browser today
AdBlock for Chrome, blocks adds in chrome
TimeManage.me, my pomodoro app
Powershell, the automation solution from microsoft
RescueTime, background logging of where you spend your time
Wunderlist, task list on every platform
Wunderlist parser, convert a plain list of items into wunderlist items
IFTTT, automate the internet
Trello, collaboration tool that uses boards and cards. I’ve written some small automation scripts for my uses. (Post)
Pocket, my preferred read later list, available on all platforms
Evernote, remember everything. I use it for my GTD technique called The secret weapon.
1Password, my password is CTRL + \
Autohotkey, run macro’s on keyboard shortcuts like CTRL+ALT+5 types €
Visual Studio 2015, the best IDE out there
NuGet, source of all the good in the world
Visual Studio Gallery, extend visual studio
Ghostdoc, CTRL+SHIFT+D to comment your code, that simple
Specflow, cucumber for .net for behavior driven development (BDD)
Just Decompile, see the code of .net assemblies
Fiddler, log http calls via this proxy
Wireshark, deep logging of network traffice
SourceTree, my preferred git tool with advanced branching support
Notepad++, notepad on steroids
BrowserStack, test webpages on any platform, live or automated
Selenium, webbrowser automation, also runs on browserstack
smtp4dev, development smtp server
Sqlite studio, manage Sqlite files
Azure Storage Explorer, browse and manage Azure Storage
Snoop WPF, spy on WPF
ZoomIt, I use this in all my demos to zoom
Bit.ly, url shortener service
windirstat, see what is hogging your hard disk space
prey, install and forget, until you need it
Gifcam, screen recorder with animated gif support
Notebook fancontrol, see processor temperature and set the fan speed
Cyberduck, connect to anything
DaisyDisk, see what is hogging your hard disk space
SafeCopyBackup, automated cloud backup
Type2phone, make my mac a Bluetooth keyboard for iPad or AppleTV
Handbrake, convert movies
1Password, my password is ⌘ + \
Little snitch, monitor network traffic coming from your mac
HyperDock, preview windows from the dock
Alfred, spotlight replacement with lots of options
Parallels, the virtualisation solution for mac
Sublime Text, very complete text editor for code
Tweetbot, easy twitter client with pocket integration
Workflow, automate tasks, like send ETA and navigate home
CloudMagic, handles my e-mail and offers tasks like send to evernote or pocket
Pocket, I do my reading mostly on iPhone or iPad
Duet, use your iPad as an extra screen
Lightningtalktimer, timer app that changes appearance with time passed
Some of the tools cost money, some are free, some offer paid options. If it saves you time or improves your work, why not support the developer that made it possible?
Last week recap and links:
Image courtesy of kanate / FreeDigitalPhotos.net
What are your best reads this week? Leave them in the comments below.
Recently I was asked to help with a Proof-of-concept for graph databases. The database in question was neo4j and it uses cypher as the query language. Some say it is like SQL, some say it’s not even close. My part in the POC was to create a REST api to hide the complexity of getting information out of the graph.
Neo4j offers a REST api. This eliminates the need for a driver and makes the database easier to integrate. The REST api expects a payload with cypher statements to execute and returns the result. Mark Tranter already created a github project and published a nuget. I’m going to use that.
The cyphernet implementation is from 2014 and stil works. Some people posted pull requests, like for adding credentials (now authentication must be turned off) I was looking for a way to execute Regular Expression where statements.
I created a CypherNet fork repository on github and added the Regular Expression implementation used for the POC. My first fork, I’m still learning.
We are developing webservices for accessing data in SQL Server. The performance requirement was not met until we started to tune our solution.
TLDR: use table in stead of view
First we added the AsNoTracking() extension from EntityFramework to the DbContext virtual properties. This informs EF to just read the data and not track any changes. Since we’re only using the data read-only we have no need for change tracking. Speed improvement quick-win.
Next is the loadtest in Visual Studio. The Constant Load Pattern is set to 1. This means 1 thread doing all the requests. But we’ve created an ‘async’ webservice that ‘awaits’ the data from the database. Setting the number to 4 improved the requests/second by just a little.
Then we noticed the huge speed increase when requesting the same id for the second time. This happend when the number of requests exceeded the list of unique id’s and started over with already requested id’s. Is this caching of information in SQL Server?
Last change is in the database. Even with an indexed View the data is read slowly until it is requested the second time (and probably cached). We moved to a table with the same data as the view. This made the performance on par. (200+ page/s)
Performance Considerations for EF 4, 5 and 6 on msn
Tips to improve Entity Framework Performanc on dotnet-tricks