F#
-
After posting the handout for my Wednesday class, now it's time to start the one for Tuesday's - CP1914 - Moving Code to the Cloud: It's Easier Than You Think (I have a lot else going on on Tuesday, but this is the only class on that day for which I needed to prepare material). Attendance for both classes is looking fairly good: there are currently 138 attendees registered for the Cloud session and 62 registered for the one on WinRT. Why all this talk of the cloud? The software industry is steadily adopting a model commonly referred to as…
-
As we reach the end of this long series of posts on moving code to the cloud – and a look at ways to use the functionality from a wide variety of applications, many of them on mobile devices – I felt it was worth putting together a quick summary post to reinforce the overall message (which may have been a bit lost in the sheer volume of information). Firstly, here are the posts in this series, including those looking at the original creation of the "desktop" application functionality: Creating the core desktop functionality Circle packing in AutoCAD: creating an…
-
As mentioned in the last post, while working on deploying our web-site and its related services to Windows Azure, I started to chew on the economics of Azure hosting. This is especially relevant as I start to see my free 3-month subscription's resources being burned through by all of you checking them the links in the last post. 😉 Here's what I found… "extra small" instances are a mere sixth of the cost of "small" instances (not taking into account the 6-month pre-purchase discount on small instances, admittedly), which got me thinking: if I can reduce the resources needed for…
-
Having built our local ASP.NET Web API project and consumed its data inside AutoCAD, we're now ready to deploy our web-service to the cloud. In this first part, we'll look at some background information on Azure, in particular, and then get ready for the publishing process, which we'll complete in the next post in the series. Choosing a provider As is obvious from the title, for these posts we're going to use Windows Azure. Alternatives such as Amazon Web Services (AWS) provide IaaS (Infrastructure-as-a-Service) capabilities related to hosting ASP.NET – you basically get the ability to deploy Windows Servers in…
-
After introducing the (apparently somewhat charged, judging from the comments) topic of moving application functionality to the cloud, and then looking at the steps of creating and implementing an ASP.NET Web API project, we're now going to take a brief step back before looking at how we can effectively make use of the data provided by these web-services inside AutoCAD. If you're looking to assign blame (not that any is needed ;-), it's Scott McFarlane's fault we're taking this brief backwards step: Scott raised the excellent point – which really needs addressing sooner rather than later in this series –…
-
In the last post, we looked at the core technology we're going to use to expose our web-service, along with the basic project set-up. In today's post, we're going to flesh out this project and see the web-service in action. At this point, I should point out that I've switched back across for VS2010 for the purposes of this post (and its immediate successors), as it really will simplify the eventual integration with Windows Azure. Before we dive into the implementation of our web-service, here are a few words on what we're after… We want to implement two web-service APIs:…
-
As promised, here begins the technical portion of the series on moving application functionality to the cloud. As suggested, we're going to take code from a couple of previous posts and put it in the cloud (although not immediately – first we're going to move it to a local web-service, consume that in AutoCAD, and then look at our various cloud-hosting options). So why did I choose these two pieces of code, in particular? A couple of reasons: firstly, they both implement "behind-the-scenes" algorithms that are independent of AutoCAD – a typical piece of business logic that companies might choose…
-
As suggested in the last post, today we're going to take the results of running the code from that post and use them to generate a hollowed-out sphere. A big thanks to Francesco Tonioni, from our Product Support team in Neuchatel, who spent some time throwing ideas around on a lazy (but very cold) Sunday afternoon, contributing significantly to this post. A few minor changes to the code were needed: rather than creating the spheres at exactly the size at which they were generated by the F# code, I adjusted the C# code to multiply the radius by 0.98 and…
-
This post continues the series on fill algorithms for 3D printing by looking specifically at an Apollonian sphere packing. In the last post we got most of the way there, but today we're going to introduce a more elegant algorithm for solving the problem (with pretty impressive results :-). Many thanks to Professor Ronald Peikert from ETH Zurich for kindly providing the C++ code used to generate the F# code in today's post. The original algorithm was outlined in this paper co-authored by Professor Peikert, under the section The "Inversion Algorithm" and – as you might divine from the name…
-
So far in this series, we've looked at Apollonian circle packing using C# and also F#. The next few posts will look at solving this problem in 3D: performing Apollonian sphere packing. I've decided to stay in F# for the algorithmic side of things: it just feels a much cleaner environment for dealing with this kind of problem, and, besides, I've been having too much fun with it. 🙂 One thing I should mention, as this series is nominally about 3D printing fill algorithms: printing hollow spheres isn't at all straightforward with today's 3D printing technology, as support material is…