Bag of words(BOW) is used frequently in machine learning. It can be used to convert image or text data, for instance, into numeric data a neural net or algorithm can understand. Currently in PerleyML there is an ability to convert strings into their numeric representation so we can then cluster them and classify.


So the AI is taking over. Not really, not yet anyways. However Machine Learning and Artificial Intelligence are pretty much booming. There are dozens of frameworks to choose from and many really simplify entry. However there does come a point where you want to delve deeper and understand what goes on behind the scenes, I did and man, its evil. All that math, all of the time. Anyways I have since started my own open “framework” for creating ML/AI projects. I will admit, it needs some work, but I am at v0.2, so meh. …


I love Gtk and what I can do with it. Simple and straight forward, for the most part, and runs well on Windows and Linux. I honestly have never tried it on a Mac though, one day maybe. However there are some issues with Gtk# I would like to address as they really annoy me sometimes.

1 — No Webview — there are some libraries out there that attempt to fix this problem, but in todays world of development, webview is a pretty important component, especially if you are not developing a web based application and need to access existing…


Need to build a list using GTK? Maybe you’re turned on by physical pain? How about the mental anguish? Well I hate to break it to you, lists in GTK# are pretty straight forward, so put that thing away and lets get into it.

Create a new Gtk# app with dotnet core.

  • > dotnet new gtkapp <your app name>
  • > dotnet build — Just to see that it is actually working.

Now that the app is created open it up in Visual Studio Code or an editor of your choice. …


Crud visual.

So to begin, web API’s are useful tools that can provide functionality to just about every application out there. They can be used to securely handle and send data, to and from clients. While what api type you’ll use rests mainly on your projects requirements, a usual go to in many places I have worked is the Rest Api. Quick and simple to produce and just as easy to deploy.

Just a quick note before I get started, to keep things simple and avoid using external libraries in this project, I cheated and put a list of “users” in the…


Have you run into an xmlhttp error? Do you think it could be due to your .Net backend? It very well could be.

I was having some issues recently when trying to connect a web application to my backend, it kept giving me cors errors. So naturally I started looking around for a fix and it honestly seemed kind of pointless, no errors displayed in my .Net Core app and it only said xmlhttperror in my dart front end. I worked around this by using windows servers and setting up headers manually. …


Simple example applet.

Earlier today I posted an article about how to create a new Gtk# application with .Net Core. In the image above you can see the applet we are going to put together. All it contains is a Label, an Entry and a Button. We are going to see how to put some UI together and add some simple functionality to widgets. Lets get started!

So to start out add the following code. I use images so you can’t copy and paste and are therefore forced to type it out by hand and build that memory. Sorry not sorry :)


Are you starting a new application for desktop computers? Would you like it to run cross-platform? Want to try something a bit different from Winforms or WPF? If you answered yes to any of those questions you should try out Gtk# with .Net Core. Microsofts .Net Core allows you to develop applications and web apps on several OS types, from linux to mac, you are no longer restricted to the MS platform!

Lets get started!

First open a folder and launch a terminal, once done enter:

dotnet new gtkapp youappname, or just, dotnet new gtkapp (will take name of directory)


If you use C# and .Net you are probably well aware of winforms, WPF and UWP. These frameworks allow you to design UI for your applications. What happens though when you want or need to write cross platform code? There are a number of really great libraries that provide this functionality. One such library is Gtk#.

Gtk# is a wrapper around the Gtk+ library. It includes a number of other api’s like Cairo# or Gdk that add text, font and other features to the package. You can use Gtk 2 with Mono in Monodevelop. Monodevelop provides a Visual Studio like…


Welcome back! In today’s article I am going to explain a bit about multi-dimension arrays. They’re really not hard to understand and provide some cool functionality and knowledge that comes in handy. This article will use C# and .Net Core 2.x+.

Lets start with initializing a 2D double array.

Matt Perley

I could go on all day in here.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store