Introducing Access to {AI} Conference, November 12-13 2015

Access to {AI}

And now for something completely different - I’m hosting a conference in the November 12-13th in Mountain View, California called Access to {AI}.

The goal of the conference is to have experienced practicioners of Machine Learning, Natural Language Processing, and Artificial Intelligence introduce the techniques and tools they use everyday to programmers who’ve never done any of that before.

If you’re a TL;DR; sort of person, just click here to register for updates about Access to {AI}.

Why is this important? Well…

Breaking into advanced fields is hard

I first learned how to do distributed computing in college, and I was overwhelmed learning the strange new lexicon that came with it. I barely knew how to write C++ and C#, even...

Read More

Developers Who Can Build Things from Scratch

There’s lots of different types of developers you’re going to need to work with over the span of your career in the software business, but the one I want to talk about today is the kind you need when you’re trying to build something new.

Finding a developer who can transform a set of ideas into something tangible is hard - they’re out there, but it takes more than just knowing how to code. I gave a talk about startup product development (slides) to some entrepreneurs on Friday and none of the folks in the audience had deep technical backgrounds (no engineers, in other words.)

All of them had ideas for products they wanted to validate and were looking for ways on how to find the right types of engineers to work with early on.

A developer who can take a blank sheet of...

Read More

Akka.NET Request for Contributors: Akka.Cluster

Akka.NET - Distributed Actor Model for .NET

The next major milestone for Akka.NET is Akka.NET v1.1, the primary focus of which is a stable, production-ready release of the Akka.Cluster module.

We’ve made some solid progress towards that goal in some of our maintenance releases, but I came to the realization over the past couple of months that the way we’ve been working with our contributors isn’t the most effective way for the project to achieve these milestones.

In this post I’m going to invite you, a .NET developer who’s interested in distributed computing, to work with me directly on the guts of Akka.Cluster and take on a project that’s bigger than you or me. And it’ll be awesome - you’ll learn a...

Read More

Visual Studio ProTip: Copying Binaries on Pre and Post-Build Macros

Last year I had to spend a fair amount of time working on C and C++ projects in Visual Studio 2013, and one of the tasks that I had to learn how to do was use Visual Studio’s pre-build and post-build events to copy all of my dependent DLLs into the final output folder for my applications.

In C# we take the ability to do this for granted - if we need to add a reference to another project in our Visual Studio solution we just Add Reference –> Projects –> [Project Name] and boom, we’re all set. Visual Studio will automatically copy our dependent binaries into our final /bin/[Release|Debug] folder automatically.

In C/C++ - hellllllllll no. You have to do this all yourself!

Read More

Real-time Marketing Automation with Distributed Actor Systems and Akka.NET

MarkedUp Logo

This is an archive of a blog post I wrote for the MarkedUp Analytics blog on July 23rd, 2014. It’s been a popular post and I’m posting it here in order to preserve it. I shut down MarkedUp in November, 2014.

The MarkedUp team has had experience developing SDKs, high-performance APIs, working with Cassandra / Hadoop, and service-oriented software for several years. However, when we started laying out the blueprint for MarkedUp In-app Marketing we knew that it would require a radically different set of tools than the traditional stateless HTTP APIs we’d been used to developing for some time.

Read More

Helios 2.0 Development Diary 2 - Channels, Config, and the Curiously Recurring Template Pattern

Picking up where I left off in the previous Helios 2.0 diary entry… After clearing the decks of all of any code I wasn’t 100% certain we’d be keeping, I began writing new code.

IChannel, IChannelConfig, and more

I immediately began by porting Netty’s Channel interface to C# (IChannel interface,) as this defines the root element of work behind the Channel API in Helios.

The original Channel interface is chock-full of detailed, helpful comments written by the Netty team and I did my best to port most of those over onto the IChannel interface in Helios, but I got impatient and left a couple of them to be filled-in as TODOs (send me a PR!)

Next I got to work on porting all of the ChannelConfig options, which included porting the AbstractConstant and...

Read More

Helios 2.0 Development Diary 1 - Clean Slate

To my eternal shame, I’ve never blogged about one of the most important open source projects I’m involved in: Helios. Helios is for all intents and purposes a .NET port of Java’s wildly successful Netty project, the reactive high-performance socket server that powers the internals of systems like Apache Cassandra and Typesafe’s Akka project.

Helios has dutifully powered the remoting layer behind Akka.NET (my main OSS project) for the past couple of years, and is capable of being a powerful tool within the .NET distributed programming ecosystem in its own right.

Helios’ Goals

Helios’ job is provide .NET developers with the following tools:

  1. An asynchronous, event-driven network application programming framework that works across both TCP and UDP, client or server;
  2. Message framing and buffering...

    Read More

Cassandra, Hive, and Hadoop: How We Picked Our Analytics Stack

MarkedUp Logo

This is an archive of a blog post I wrote for the MarkedUp Analytics blog on February 19th, 2013. It’s been a popular post and I’m posting it here in order to preserve it.

When we first made MarkedUp Analytics available on an invite-only basis to back in September we had no idea how quickly the service would be adopted. By the time we completely opened MarkedUp to the public in December, our business was going gangbusters.

But we ran into a massive problem by the end of November: it was clear that RavenDB, our chosen database while we were prototyping our service, wasn’t going to be able to keep growing with us.

So we had to find an alternative database and data analysis system, quickly!

The Nature of Analytic Data

The first place we started was by thinking...

Read More

Scalability Lessons we can Learn from Voat

Voat - have your say

Last weekend I found on the /r/dotnet subreddit, one of the places I frequent for news and happenings related to all things C# / F#.

Voat exists simulataneously as two different things:

  1. The Voat software - an open source, ASP.NET MVC + MSSQL implementation of Reddit AND
  2. - an instance of the software that is owned and operated by its creators.

I’m a huge fan of Reddit - had an account there for years, and seeing such a kick-ass implementation of it written in C# with SignalR, ASP.NET MVC, Web API, and lots of other cool toys gets me really excited!

Voat could be a huge opportunity to expose lots of curious onlookers...

Read More

Talking about Akka.NET and the Actor Model on Hanselminutes and .NET Rocks

I’ve done a bit of a “press tour” for Akka.NET since we released Akka.NET v1.0 at the beginning of April and I wanted to share a couple of the interviews I’ve done in the .NET community since.

Hanselminutes: Inside the Akka.NET open source project and the Actor Model with Aaron Stannard

I did an interview with Scott Hanselman immediately after .NET Fringe and we covered the goals and scope of the Akka.NET project, but also really took a close look at the Actor model and why it’s becoming a popular concept among .NET developers.

Listen to me on Hanselminutes! (33:04).

.NET Rocks: Akka.NET V1 with Aaron Stannard

Carl and Rich, the two hosts of .NET Rocks, did a better job with the synopsis than I could!

Akka.NET ships! Carl and Richard talk with Aaron Stannard about Akka.NET,...

Read More

P.S. Get the latest from Aaronontheweb

Have my most recent essays and articles delivered directly to your mailbox.