Welcome to my blog’s version of the #IDevThis project that will be coming out. This full series will be made available on instructables and channel9 once it has been completed as a full unit.
Pi for Brains Robot (aka Danger-Bot)
These days it seems like I’m always dealing with a robot, they are on the phone, in my car, at the grocery store, just about everywhere. It also seems like every single one of them had Pie for brains, because it just couldn’t do what I told it to. This project is going to build a robot that ACTUALLY has PI for brains! Get out your breadboards, your Raspberry Pis and follow along. We will use a high performance cross platform robotics framework, Cylon, Raspberry Pi, and an Arduino Robotics Kit to build this internet connected robot.
As many of you may know at this point, I am relocating to South Florida. Final location to be determined, but will probably be renting around Pompano Beach or Fort Lauderdale while working out of Venture Hive and the Microsoft Fort Lauderdale Offices. So what does this have to do with Zillow? Well, It has EVERYTHING to do with Zillow. What I’ve found while searching for homes is that between Realtors, Zillow and Trulia, they really just don’t have a predictive analytics solution that works for me. So I decided to give a shot at AzureML to mash together a few datasets to send me notifications more to my liking than is currently being sent. So step 1 in this plan is to data mine Zillow. Luckily, Zillow has an api for that. Or if you are feeling particularly frisky, Zillow gets their data from ArcGIS (example for Raleigh). So lets get cracking…
So I thought it would be beneficial to discuss Angular, Web API and Azure in some form of depth as well as provide an entire set of functioning code. I will start by addressing a few things, What is Angular, What is Web API, and what is Azure? Followed by the code and explanation of the code. The code itself provides a simple website, which has restful routing, requests for processing and lists out data from a database acquired from said processing.
The answer to these questions are pretty much all the same. Step 1, learn about it and build one piece of software focused on that goal. Step 2, go for it, just do it. So that said, Microsoft has a fantastic resource, Microsoft Virtual Academy, which provides free training around various topics from entry level to advanced. This article focuses on a learning plan with MVA to attain the goal of becoming an Analytics Developer.
One of my good friends is going through a reskill to become a software developer, so I have decided to help him out, because, isn’t that really my job? Help everybody be successful with programming? Anyways, this has provided some new insight into challenges people face learning to code that you just don’t remember as a seasoned developer. Anyways, he was working through some code and sent me his code to look over. I want to go over both code bases and why I chose to change even code as simple as that to what it has become. The code written derives from the Microsoft Virtual Academy Intro to C# series, located here.
I have recently been informed that many of my articles may be a bit advanced for folks, so I am going to kick off a series of C# articles dedicated to the Beginner to programming. I have no idea how long this series is going to be, I’ll just keep adding to it as requests come in for various topics. This series is meant to take the absolute beginner to a level in which they can possibly derive value from my other articles. Those of you who do Jiu Jitsu with me, know you have to shrimp before you can roll, so this is sort of like shrimping.
So I’m sure many of you have written recursive functions. There are many reasons to use recursive functions, usually because the problem is most easily solved through recursion. The largest downfall however to standard recursive functions is that they continually add onto the function stack, and given enough iterations through can cause a stack overflow.
Welcome to Part 2! Hopefully you made it through part 1 with no issues. In this part, I will discuss Applicatives, in this scenario, we are doing validation of an entire type, however you can use this method for any sort of processing in the system that returns a result or failure and takes n parameters.
So if you made it to this article, that means you probably have seen this already. If you haven’t, you really need to. That is really step one to this whole thing. Scott wrote a fantastic article there and I finally understand how it works after weeks of studying and coding and working on a new F# project. This article series is meant to take what Scott and others have written and break it down such that mere mortals and dummies like myself can grasp on to.
Before we get too far, I need to explain a little bit about what Two Track Coding, Railway Oriented Programming (or for short here on out ROP) is and why it is great. Coding without ROP yields code that can have tons of if/then/else, try/catch nests and is an absolute bear to read, write, understand, debug and also ensure all cases are caught. Go to http://fsharpforfunandprofit.com/rop/ for more.
So you are going to notice a slight shift in this blog to start incorporating not only video game development, but hardcore data analytics. As part of that shift, I am going to start incorporating F# into my standard set of languages as it is the language of hardcore data analytics if you roll with the .NET stack.
This particular article is about building a console based blob manager in F# instead of C#. The very first thing I noticed about using F# to manage my blobs as opposed to C# is just the sheer reduction in lines of code. The code presented here is a port of the C# article located here. This code will eventually make its way into a production system which is part of a big data solution I am building. New data sets that we acquire will be uploaded into blob storage, an entry stored into a queue, with a link to the data set. Once a job is prepared to run, the data will be moved to Hadoop to do the processing and then stored in its final location. So step 1 is…Store data in Blob storage.