LessThanDot Site Logo

LessThanDot

A decade of helpful technical content

This is an archive of the posts published to LessThanDot from 2008 to 2018, over a decade of useful content. While we're no longer adding new content, we still receive a lot of visitors and wanted to make sure the content didn't disappear forever.

SQL is Hard (still): Reviving a stale application

Several years ago, I launched SQLisHard to help folks learn SQL. Some folks learn well from books or videos, but others learn best by getting in there and running queries. I monitored and tweaked things for about a year, trying to get the first set of exercises smoothed out. Then, like many folks, I was sidetracked by other projects and work responsibilities. SQL is Hard website: Learning SQL through hands one exercises For about $10/month, this little site has kept running and helping folks.

Read More...

Streaming Alerts using AWS Lambda, Kinesis, and DynamoDB

Recently I was talking to some friends about alerting on complex streaming data. Between some past event processing work we had done and earlier experience aggregating real-time manufacturing data, I was thinking a lot about projecting and evaluating results as we go versus querying the for results on some frequency. It seemed like a realistic approach and I couldn’t stop thinking about it, so I decided to prototype the pieces that I was least familiar with.

Read More...

Serverless HTTP + Kinesis Lambdas with Offline Development

Lately I’ve been exploring an idea around applying custom, user-defined rules to streams of events. I’m using a combination of technologies, but the core is a FaaS setup that I can run locally that utilizes the serverless package to deploy AWS Lambda functions that consume events from a Kinesis stream. I prefer the speed of local development feedback cycles. Getting HTTP Functions running locally was easy with serverless-offline, Kinesis was a lot trickier with more false starts.

Read More...

The State of Software Engineering Report 2017

“It’s not just about software — the Enterprise is the System” The “Mastering Digital: Software Engineering Report” (2017) provides analysis of detailed feedback from Architects and Engineers about their work on software projects for organisations of all types and sizes. The report looks at the following: Demographics of the respondents (Company Types, Team Size, Project Spend, Role Types, etc) Performance of current software engineering capabilities & outcomes The challenges & opportunities with the technology we use (Including: Server Side, Front End, Database and DevOps & SysOps Technologies) The challenges & opportunities with the delivery of software projects(Including: Technology & Design, Organisation & Behaviour, Knowledge & Skills, Requirements & Planning) A summary of the key pain points and root causes Some key takeaways Find out more here…

Read More...

Use ostress to load test a SQL database

Have you ever wondered how you could take one or more .sql files you captured as a workload and run them against a SQL Server or Azure SQL Database to test performance or impact? Microsoft has a free tool to do just that – ostress. Ostress.exe is part of the RML utilities. The first step is to download it from https://www.microsoft.com/en-us/download/details.aspx?id=4511. Along with the command-line tools, there is also a helpful help document!

Read More...

Custom Authentication in ASP.Net Core 1 (without Identity)

Performing Authentication and Authorization has changed from ASP.Net to ASP.Net Core. Rather than relying on attributes, ASP.Net Core uses middleware similar to NancyFX and Rails. This is a short, step-by-step approach to implementing custom Authentication in ASP.Net Core without the overhead (and assumptions) of the new Identity model. The goal is to support basic necessities like a Login page with cookie-based authentication tickets that properly require HTTPS in production, but gracefully fail back to HTTP in local development.

Read More...

Testing your resx files to see if all languages have the same items.

It’s one of those things you need to when writing multilingual applications. Create resource file (resx) for each language you want to support. And then you add an item and forget to add it to one of language files and then, oops empty label. We don’t want that. And we write tests, so why not write a test for that. And on Stackoverflow the user TiltonJH was so kind to provide me with the answer.

Read More...

Deploying to ServiceFabric from TeamCity

Recently I’ve been working on an application that runs partially in Azure ServiceFabric. I’ve [created a local cluster]() to work against and now it’s time to configure my TeamCity deployment to deploy upgrades to my application automatically. Initial details: Deploying 2 projects: a .Net 4.6.2 ASP.Net Core app to web app .Net 4.6.2 ServiceFabric project to ServiceFabric cluster Server: VM: 2-core, 2048 GB of RAM Windows Server 2016 x64 TeamCity 2017.

Read More...

Creating a local Service Fabric Cluster

Working with Service Fabric and want a local cluster to test and develop against? Here’s the step-by-step path I took from a set of fresh Windows VMs to a running, secured Service Fabric cluster using self-signed X509 certificates. There are a number of Microsoft docs that cover this subject, this is a single beginning-to-end path that also includes fixes for gaps or errors in those docs as I went.

Read More...

Multiple NuGet Methods for VS2017 + MSBuild 15 in TeamCity

ASP.Net Projects and NuGet have been a moving target the last couple years. I have an ASP.Net Core project (.Net Framework) with several class libraries and had to work through a number of problems to get NuGet Restore working on a TeamCity CI server. Hopefully this will help someone else along the way. It turns out I have 3 situations: ASP.Net Core uses the new PackageReference for packages instead of packages.

Read More...