ABOUT US ABOUT US

> Simon Timms

Simon Timms is always interested in improving himself and learning all that he can. He has worked in various oil and gas domains as well as insurance and enterprise search. He began his career working with build systems so is very passionate about proper builds and is excited by the burgeoning DevOps movement. For the most part Simon works in C# mostly on web applications. Somehow he seems to have picked up a reputation for knowing about JavaScript. He is a big fan of ReactJS and currently dislikes knockoutjs, but that will likely change in a day or two. Check back soon!

Simon holds an honours degree in computing science from the University of Alberta and a masters in information systems from Athabasca University. Simon believes in community and giving back for all of his good fortune. He helps run the Calgary .net User Group where he typically talks several times a year. He also talks whenever he can at technical conferences. He is a two time ASP.net MVP and blogs at Simon Online.

> Blog posts

MAR
19
Getting Started with RabbitMQ in ASP.NET
Simon Timms
In the last post we looked at how to set up RabbitMQ in a Windows container. It was quite the adventure and I'm sure it was woth the time I invested. Probably. Now we have it set up we can get to writing an application using it. A pretty common use case when building a web application is that we want to do some background processing which takes longer than we'd like to keep a request open for. Doing so would lock up an IIS thread too, which ins't optimal. In this example we'd like to make our user creation a background process.
MAR
16
Creating a Rabbit MQ Container
Simon Timms
I bought a new laptop, a Dell XPS 15 and my oh my is it snazzy. The thing I was most excited about was that I'd get to play with Windows containers again. I have 3 other machines in the house but they're either unsuitable for containers (OSX running Windows in parallels) or I've so toally borked them playing with early betas of containers they need to be formatted and reinstalled - possibly also thrown into the sun. So when I found myself presented with the question "how can we get into messaging in our apps for free?" I figured I'd crack open the laptop and build something with MassTransit. I found that MassTransit supports running on RabbitMQ. Why that sounds like a perfect opportunity to deploy RabbitMQ to a container. Only problem was that I didn't really know how to do that.
NOV
9
C# Wildcard Variables
Simon Timms
Wildcard variables in C# are up for discussion for inclusion in C# 7 or some later version. They are a useful construct taken from functional languages like Haskel.
AUG
28
You're using HttpClient wrong and it is destabilizing your software
Simon Timms
I've been using HttpClient wrong for years and it finally came back to bite me. My site was unstable and my clients furious, with a simple fix performance improved greatly and the instability disapeared. At the same time I actually improved the performance of the application through more efficient socket usage.
JUL
17
An Intro to NGINX for Kestrel
Simon Timms
Kestrel is a server capable of serving up ASP.NET Core applications on any platform but in production you need to run it behind another server.
JUL
15
End to end testing for your saga
Simon Timms
Looking to do end to end testing of your saga? I strugged.
JUN
11
How I fixed OneDrive like Mark Russionvich
Simon Timms
Even with compiled applications it is possible to debug issues
MAY
6
CI with F# SQL Type Providers
Simon Timms
F# type providers are awesome but it took me a bit to figure out how to get them to work with CI
APR
27
Running your app on Windows Server Core Containers
Simon Timms
Getting started with NServiceBus on windows containers
APR
24
FSharp.Data.SqlClient Type Provider Having Trouble Bulk Loading
Simon Timms
Uh oh: Method not found: 'Void FSharp.Data.DataTable`1.BulkCopy'
APR
23
FSharp.Data.SqlClient Type Provider Not Finding Tables
Simon Timms
If the SqlProgrammabilityProvider isn't finding table names for you this might be the fix
MAR
16
What is middleware anyway?
Simon Timms
I find middleware to be a confusing term which doesn't mean anything or perhaps means everything. Let's figure out what middleware means
FEB
18
I squash my pull requests and you should too
Simon Timms
By squashing your git commits you can make everybody's life better except for Idi Amin
JAN
31
ProTip: Get a random date in SQL Server
Simon Timms
How to fill a table with some random dates.
JAN
26
Launching ASP.NET Monsters
Simon Timms
We're really excited about the new ASP.NET Core and the future of ASP.NET in general. So much so that we're starting a specialty site and a bi-weekly video blog all about it.
JAN
20
ASP.net vNext is now ASP.net 5 is now ASP.net Core 1.0
Simon Timms
What the rename was and why it didn't go far enough
DEC
17
SQL Server Aliases
Simon Timms
Ever run into that problem where everybody on your team is using a different database instance name and every time you check out you have to update the config file with your instance name?
DEC
16
Updating Sub-Collections With SQL Server's Merge
Simon Timms
When you get to be as old as me then you start to see certain problems reappearing over and over again. I think this might be called "experience" but it could also be called "not getting new experiences".
DEC
4
Copy Azure Blobs
Simon Timms
Ever wanted to copy blobs from one Azure blob container to another? Me neither, until now. I had a bunch of files I wanted to use as part of a demo in a storage container and they needed to be moved over to a new container in a new resource group. It was 10 at night and I just wanted it solved so I briefly looked for a tool to do the copying for me. I failed to find anything. Ugh, time to write some 10pm style code, that is to say terrible code. Now you too can benefit from this. I put in some comments for fun.
NOV
19
Source Control for SQL Databases
Simon Timms
There are a bunch of options for migrating database schema, how can you be sure you've picked the right one?
NOV
7
Stop OSX deleting /tmp so frequently
Simon Timms
Some time ago I lost a podcast recording because I stored it in /tmp. It is a bad habit but I tend to store things that I'm not going to need in the long run in /tmp. It is a throw back to my real Linux days when storage was expensive and I might not be back on that machine for a while to figure out why all the space was used.
OCT
13
Getting Started With ELK using Docker
Simon Timms
Being able to trace calls through services an be difficult. We need to find some way to gather and aggregate these disparate logs. This is exactly what the ELK stack does.
OCT
13
Layer Already Being Pulled by Another Client. Waiting.
Simon Timms
I've been seeing a lot of this frustrating error when working with docker today. It turns out that pressing ^C when docker is downloading layers is not a good thing. In my case I changed hotspots which broke the download so I hit ^C. There are a couple of issues on github, here and here but basically nobody cares that the docker experience in this scenario is crummy. If you encounter this error it seems the only way to solve it is to restart the machine on which docker is running. If you're running docker against a VM then restarting the machine seems to fix it.
OCT
5
Yet Another Docker Intro on OSX
Simon Timms
You would think that there were enough introductions to Docker out there already to convince me that the topic is well covered and unnecessary. Unfortunately the sickening mix of hubris and stubbornness that endears me so to rodents also makes me believe I can contribute.
OCT
3
Winner Selector
Simon Timms
A quick tool for picking winners from a list
SEP
15
CrashPlan Tip - Move the cache directory
Simon Timms
I use CrashPlan to back up my collection of computers. It is a great tool and has saved me on a number of occasions. Most memorably was the time that I forgot the password for my comically well-encrypted drive. Restoring from crash plan got me back all the important things.
SEP
11
A discussion on knockout
Simon Timms
It is rare that a day passes on the Western Devs' slack channel that we don't have some lively discussion. Today was my day to rant about knockout.js.
SEP
3
A Couple of Things About Powershell Remoting
Simon Timms
I couldn't find the answers to these questions readily anywhere on the internet so I thought I would write them down here for the good of mankind. When using remoting as a different user does the target account or my account need to be an admin?
AUG
31
Ooops, Repointing Git Head
Simon Timms
I screwed up. I force pushed a branch but I forgot to tell git which branch to push so it clobbered another branch.
AUG
28
Running Process as a Different User on Windows
Simon Timms
Running commands as another user on Windows can be a bit tricky, but this is a method that worked for me.
AUG
15
Change Management - the Missing Podcast
Simon Timms
Some people are really good at computers. I am, apparently, not one of those people. This last Friday we had a fantastic podcast with
AUG
14
Azure SQL Point in Time Restore Is Near Useless
Simon Timms
Azure SQL Point In Time restores are so slow as to be near useless.
AUG
12
Setting Up an IIS Site Using PowerShell
Simon Timms
The cloud has been such an omnipresent force in my development life that I'd kind of forgotten that IIS even existed. There are, however, some companies that either aren't ready for the cloud or have legitimate legal limitations that make using the cloud difficult.
AUG
7
Change Management for the Evolving World
Simon Timms
I've had this blog post percolating for a while. When I started it I was working for a large company that has some internal projects I was involved with deploying. I came to the project with a background in evolving projects rapidly. It has been my experience that people are not upset that software doesn't work so much as they are upset that when they discover a bug that it isn't fixed promptly.
AUG
2
Casting in Telerik Reports
Simon Timms
Short post as I couldn't find this documented anywhere. But if you need to cast a value inside the expression editor inside a Telerik Report then you can use the conversion functions
JUL
23
Unit Conversions Done (Mostly) Right
Simon Timms
Thanks to a certain country which, for the purposes of this blog let's call it Backwardlandia, which uses a different unit system there is frequently a need to use two wildly different units for some value. And they have so many people and so much money that we can't ignore them.
JUN
10
Getting lookup data into your view ASP.net MVC 6 version
Simon Timms
This is a super common problem I encounter when building ASP.net MVC applications. I have a form that has a drop down box. Not only do I need to select the correct item from the edit model to pick from the drop down but I need to populate the drop down with the possible values.

Simon Timms

Email Email
Web Web
Twitter Twitter
GitHub GitHub

Looking for someone else?

You can find the rest of the Western Devs Crew here.

© 2015 Western Devs. All Rights Reserved. Design by Karen Chudobiak, Graphic Designer