TheSharperDev
Educating about C# and F#
Posts
About
Tags
Categories
Posts
18
May 2020
Supervised v. Unsupervised v. Reinforcement Learning: An Introduction
Machine Learning powers a lot of what we do. Currently there are three main categories of machine learning, supervised l...
26
Apr 2020
Implementing Minimax Tree Search
Game playing is one way to learn machine learning strategies. A most game playing bots involve some searching mechanism....
18
Apr 2020
Getting Started with Machine Learning Using Keras
This blog post continues building on concepts introduced in Building Your First Neural Network series. It’s not ne...
12
Apr 2020
Build Your First Neural Network: Part 3
This post is the third in a series introducing you to neural networks. Feel free to read Part I and Part 2 before diving...
06
Apr 2020
Useful NumPy Operations for Machine Learning
Professionally, I’m a C# web app developer. On the side I’m investing my time into Machine Learning, and tha...
29
Mar 2020
Build Your First Neural Network: Part 2
This post is the second in a series introducing you to neural networks. Feel free to read Part I before diving into this...
24
Mar 2020
Build Your First Neural Network: Part 1
This post is first in a series introducing neural networks. If you find this article helpful, you can continue onto Part...
15
Mar 2020
Hope in the Midst of a Virus
Everything I’ve written on this blog has mainly been technical in nature. I’m a programmer, I like programmi...
08
Mar 2020
One Strategy to Unit Test Giraffe HttpHandlers in F#
Please see git repo for working code example. Samuele Resca’s article on Testing F# Web Service was a great refere...
29
Feb 2020
Examples Using HttpClient in F#
I like F#! It’s got a lot of useful features that helps me write better software. At times I have a harder time fi...
23
Feb 2020
Thoughts on How I Embrace and Deal With Reality
One of my Christmas presents was Principles by Ray Dalio. It’s him describing the principles that have helped make...
16
Feb 2020
F#’s MailboxProcessor
One of the things I recently came across in F# is the MailboxProcessor. It struck my interest and I wanted to take some ...
10
Feb 2020
Exploring the Elmish Todo App
A little while ago I wrote an article entitled Getting Started with Elmish. It was me getting my feet wet with the langu...
02
Feb 2020
C#’s WhenAll and Exception Handling
C#’s WhenAll method helps save time when processing lists of tasks. When thinking about exceptions, I couldn&rsquo...
19
Jan 2020
Reviewing NDepend
I received a free 1-year license in exchange to use and review NDepend. Rest assured, these thoughts and opinions are my...
19
Jan 2020
Functional Fundamentals: Recursion
I’m learning functional programming, so this article is one in a series of functional oriented blog posts. Click l...
12
Jan 2020
Thoughts On Becoming More Open Minded
I’m a fairly intelligent person. Through school and early career people have generally regarded me as being a comp...
05
Jan 2020
The State of TheSharperDev: 2020
At the start of 2020, I wanted to spend some time recapping what happened in 2019 and thinking about what 2020 is going ...
31
Dec 2019
How to use REPL and Scripting in F#
Lately I’ve been looking into using F# in Jupyter Notebooks. I downloaded it and attempted to follow the tutorials...
29
Dec 2019
Getting Started With BenchmarkDotNet
BenchmarkDotNet is a great library for performance testing on the dotnet platform. On this blog I’ve used it to be...
26
Dec 2019
Getting Started with Elmish
I’ve been learning F# lately and have been wondering what the F# in the browser experience is like. There are seve...
20
Dec 2019
Introduction to F# Type Providers
This post is one of many in the FSAdvent Calendar. A December’s worth of blog articles all about FSharp. Many than...
14
Dec 2019
The Cost of Abstracting a List in C#
In software development, there’s a tradeoff between design and optimization. As a general rule of thumb, most abst...
03
Dec 2019
The Difference Between IEnumerable and IQueryable Explained
This post is part of this year’s C# Advent Series. Which counts down to Christmas with two C# articles published e...
30
Nov 2019
Functional Fundamentals: Currying
This is the second article on this blog discussing functional programming concepts. Here is a link to the first, Pure v....
23
Nov 2019
Benchmarking For Loop Variants
I read Thomas Levesque’s recent post about Using foreach with an index. I’ve definitely run into the problem...
16
Nov 2019
Explaining Implicit Conversion Operators in C#
Sometime ago at work, I discovered a class that could automatically convert to and from a string whenever it was needed....
14
Nov 2019
Under the Hood of C# Alias Types and Namespaces
C# has two different ways to refer to a lot of its fundamental types. String or string, Boolean or bool, Int32 or int, c...
09
Nov 2019
Explaining Async Programming With Pizza
Asynchronous programming. It means so many things to so many people. When first learning async programming, it’s e...
02
Nov 2019
How to Create a .NET Core API CI Action Using Github Actions
Github Actions is a new tool from Github designed to automate workflows for github projects. There are numerous things t...
26
Oct 2019
EF Core’s AddAsync v. Add Method
Since learning about async programming with C#, if I’m presented with an option of async v. non-async method I&rsq...
19
Oct 2019
Add Swagger to a .NET Core 3.0 API
If you’ve ever interacted with an API, you know that it can be messy. Does it support json or xml? How should I co...
12
Oct 2019
How to Write a Brainfuck Interpreter in C#
I’ve always been somewhat interested in how programming languages are written. Last month I bought my version is i...
05
Oct 2019
.Net Core 3.0 AddControllers() Method
In case you haven’t heard, .Net Core 3.0 has now been released! So many things are now available as part of this r...
29
Sep 2019
C# Design Patterns: The Visitor Pattern
My last article introduced expressions in C# and explained a bit why they were useful. Today I’m going to build up...
22
Sep 2019
An Introduction to C# Expression Trees
Expression Trees are an interesting C# language feature that you might not have knowingly used before. Expression Trees ...
15
Sep 2019
The Cost of Synchronous Async Methods
C# 5 introduced the async/await keywords and dramatically increased how easy it was to program asynchronously. The first...
08
Sep 2019
Pure v. Impure Functions
Pure and Impure functions is a very important distinction in functional programming. Most of my university and early wor...
31
Aug 2019
Launching “The Sharper Dev” Blog!
Welcome! For the past several months I’ve been blogging at medium and dev.to. I thought the time was right to fina...