Writing Sparkly Abbot Skills With C#

In my last post, I wrote about some of the interesting elements of C# we take advantage of to make argument parsing in Abbot with C# nice.

Read More

Argument parsing with Abbot

Most Bot skills strive for a more natural language feel to arguments passed them. For example, to remember something with Abbot you can use @abbot rem haacked's blog is https://haacked.com. And then later recall it with @abbot rem haacked's blog. Or just @abbot rem haacked because Abbot uses fuzzy matching.

Read More

Introducing Abbot, a powerful ChatOps tool for collaborative work

Collaborative work is difficult enough when located together in an office. It can present new challenges when working remotely. When I worked at GitHub, one powerful tool we used that left a lasting impact on me was ChatOps. In fact, GitHub may have created the concept. If not, they were certainly one of the first.

Read More

Naming NuGet, A Lesson In Distributed Decision Making

remote nuget suggest edit

It is notoriously difficult to make decisions in a distributed asynchronous manner. It’s hard enough for me to make decisions by myself. Now introduce more people and timezones and you have yourself a hot mess. People tend to meet an online proposal with the silence of indifference. Or the silence that’s a result of the bystander effect as everyone waits for someone else to chime in.

Read More

Will Remote Compensation Be Tied To Location In The Future?

On Twitter the other day, David Anson asked,

Read More

A Subtle Gotcha with Azure Deployment Slots and ASP.NET Core

When I deploy software, I’m lazy. Very lazy. This is why I lean heavily on Continous Deployment (CD) to automatically test and deploy software when it’s merged into my main branch. I don’t have time to deploy code by hand. So gauche!

Read More

Mystery of The French Thousands Separator

I enjoy writing silly chat bots. To indulge my silliness, I’ve been exploring the Microsoft Bot Framework. Overall, it’s a pretty good framework, but I’ve had some weird bugs here and there. It’s unclear to me if they’re my fault or not. So to dig into them, I cloned the microsoft/botbuilder-dotnet to my machine and ran all the unit tests. It’s what I do.

Read More

It's Time To Break to Build

Marc Andreessen wrote a recent cri de cœur to start building to solve the biggest problems we have. I believe the overall sentiment is a good one.

Read More

Introducing Aboard Beta

In a recent post about remote work, I noted the importance of writing things down.

Read More

When Remote Work Goes Wrong

With all this recent emphasis on remote work, you can be forgiven if you think proponents (like myself) are a bit Pollyannaish about the benefits of remote work. Even so, you have to admit that preventing the collapse of civilization from a pandemic is a strong benefit to add to the list. Whodathunkit? Given that many are now required to work from home, it makes sense to try our best to make it work. This is the motivation behind my series of posts about remote work.

Read More

Geographically Distributed Teams

Facebook, Microsoft, Google, and Amazon just told its Seattle area employees to work from home for the next three weeks to reduce the risk of spreading the coronavirus. Lucky for them, I’m working on a series of post that will help.

Read More

How to Lead From Home

Working from home is a hot topic right now. If you’re a manager letting your people work from home, you may have concerns. How do you ensure that people are working? How do you create a good remote work environment? Are your people really not wearing pants?

Read More

How To Work From Home

remote work suggest edit

For years you tried to convince the powers that be that working from home is just as productive if not more so than coming into the office. You cited article after article full of evidence to support your claims.

Read More

Debunking the Peter Principle

management suggest edit

Professor Laurence J. Peter wrote The Peter Principle in 1968 as satire critical of management and management practices. Over time, cynical folks latched onto it as a universal law of nature. Here’s how Professor Peter stated the law he named after himself,

Read More

Recovering from Burnout

Today’s my birthday so naturally the topic of burnout comes to mind. For the past couple years, I’ve been coping with varying degrees of burnout. This is not to be confused with being a Burner which is something else entirely.

Read More

My First Xamarin app

A few days ago, my daughter was in a real funk. It breaks my heart to see her struggle. Fortunately, I knew exactly what to do, “build a mobile app!”

Read More

Fun with URL Encodings

aspnet web suggest edit

Quick! How many ways are there with .NET Core to encode parts of a URL? Here’s a list I came up with.

Read More

Build an ASP.NET Core Update Panel with Vanilla JavaScript in Four Easy Steps

aspnet js suggest edit

Sometimes you just need to submit a form and update a portion of your web page without a lot of fuss and muss. Today, you have a lot of options for dynamically updating the DOM based on changes made on the server. You could use React, Vue, Angular, SignalR, and Blazor.

Read More

The Bot That Helps You Merge

git semantic suggest edit

Developer tools that understand code semantics have a lot of potential. They have potential to make developers more productive and reduce the friction and drudgery of our craft. But it can be difficult to put these tools to use in practice. Many of them require a steep learning curve to use. It would be nice if we could automate the benefits of some of these tools. You can see where I’m going with this.

Read More

Global Query Filters for Interfaces

data ef suggest edit

This post describes how to apply an Entity Framework Core Global Query filter on all entity types that implement an interface using a strongly typed expression. And why you might want to do that in the first place.

Read More