Posts

Showing posts with the label web development

Uber's Michelangelo vs. Netflix's Metaflow

  Uber's Michelangelo vs. Netflix's Metaflow Michelangelo Pain point Without michelangelo, each team at uber that uses ML (that’s all of them - every interaction with the ride or eats app involves ML) would need to build their own data pipelines, feature stores, training clusters, model storage, etc.  It would take each team copious amounts of time to maintain and improve their systems, and common patterns/best practices would be hard to learn.  In addition, the highest priority use cases (business critical, e.g. rider/driver matching) would themselves need to ensure they have enough compute/storage/engineering resources to operate (outages, scale peaks, etc.), which would results in organizational complexity and constant prioritization battles between managers/directors/etc. Solution Michelangelo provides a single platform that makes the most common and most business critical ML use cases simple and intuitive for builders to use, while still allowing self-serve extensibi...

My experience with Udacity

Last week I finished a free online course from Udacity.com (google it if you're unfamiliar - it's frickin' bomb!)  So I thought I'd write a post about my experience. SO good.  I learned python, google app engine and how to create my own website....though this time I'll retain it a little longer.  The lectures are given in video format, and they are so well edited that if you really like software, you won't even realize you're taking a course - it'll feel like entertainment!  Until you get to the assignments of course - that's where the real learning comes.  They start off riDICulously easy, at least for anyone who's written code before, and they slowly get a bit harder, though the only issues with completing them you'll have are with debugging weird nuances of GAE....you don't even need to know python to start, because everything you need is usually the first link in a google search result page. The best part is that it's all FREE...

Models, Views and Controllers

Image
The MVC design pattern is one of the most widely used design patterns around, but it's talked about so much by experienced developers that sometimes noobs can get mislead as to the meaning and purpose of it. So here's an overview of the design pattern and what it's parts are for. We'll start with a high-level flow of events: 1.) The user interacts with the user interface, which sends a message to the controller. 2.) The controller receives the message, converts it into a form that the Model can understand and interact with, and then sends it to the Model. 3.) The Model accepts the new information, and makes changes to it's own state reflecting the new information that it's just received. 4.) The view detects the changes in the Model, and updates itself accordingly. 5.) Repeat 1 - 4. This is very high level and can change a little with every implementation, but the overlying theme and idea is there. Also, the way in which the view detects the chang...

TryRuby today!

Evening code fans. I'm making some progress on a software system that I'm building at work, and I've started to enjoy the process of finding a problem, creating a solution, and writing code to represent what I've come up with. But now I wanna try something new... I've been hearing a lot about Ruby on Rails in recent times, and I'm highly interested in it at this point. For those of you who don't know, Ruby is an object oriented programming language, but it's different from Java and C# in that it's a scripting language, so it doesn't get compiled down to machine code before it's run. "Rails" is a framework written for the Ruby language that makes it ridiculously easy to create websites in a Model-View-Controller sorta way. Just to get a basic web server up and running requires only 2 super simple commands on the command line! A Rails webpage differs from ASP.NET MVC (the stuff I'm using at work) in that it doesn't r...
Today I populated an html div element asynchronously using jQuery and JSON in my ASP.NET MVC2 project. Now, when you were 10 years old, did you think you'd one day find a sentence like that above interesting? I bet not. But here's why it is (lol) : In MVC you're allowed to mix javascript code (client side) with C# code (server side), but you have to understand where each part of it is being run. Here's the code (the important parts of it anyway): Client side (mostly): <script type="text/javascript"> $(document).ready(function() { $.getJSON(' ', function(jsonData) { for (i = 0; i ?serviceAddress=' + jsonData[i].serviceName, function(data) { $("#mainDiv").append(data); }); } }); }); </script> Server side : public class DiskSpaceController : Controller { public JsonResult ...

Hosting a Website Right on your Windows Machine!

Hey cyberfreaks! Okay, today my bro showed me how to host your own website off of your own computer...and it's REALLY easy, if you've got the right tools.  FYI this post is really for my own reference, but if you have Windows with Internet Information Services (IIS) installed, then this is a quick and dirty tutorial to get to hosting your own site off of that cpu you're reading this post on...right now!  Here we go... First find your network/router/home's IP address (visible to the entire internet): 1.) Go to grc.com, click 'SHIELDSUP!' in the 'Services' drop down menu, and then click proceed. 2.) Now click the 'All Service Ports' button. 3.) Your computer/network/router's IP shows up (the one visible to the entire internet).  Copy it somewhere safe. Second, you must register a domain name: 1.) Go to dyndns.com and click the link near the bottom left that says 'Dynamic DNS Service'. 2.) Follow the directions and get ...