Interop is what its all about

 

Phil Windley – http://www.windley.com/archives/2013/08/m2m_for_people.shtml

“For these connected products, and the thousand more that are coming, to truly reach their potential people need a common place where their stuff connects—a dashboard for their things. Not just a dashboard, but a programmable platform that allows all these connected things to work with each other and Web services. Building that is what gets me up every morning.”

Family CTO Roadtrip: What’s in your CTO Go Bag?

It’s the time of year for family vacations. All you need is a car, a family, tons of stuff to pack, and a rental agreement for a vacation house. When I was a kid, that meant making sure my favorite cassette tapes were packed. And a book or two.

Today, the Family CTO needs to be prepared to provide the same high level of service in what can be strange and sometimes inhospitable conditions. During the loadout this year, I realized that what I need is a “Go Bag” that just sits in my car, always ready to facilitate adventure.

So here is my basic checklist for Family CTO Go Bag (automotive):

  1. A tackle box or tool box to hold all this stuff. Get one a little bigger than you need because next year you will be jamming new things into it
  2. Power Strip & Extension cord(s) – the outlets you need for all that recharging are never where you need them and then there are never enough of them
  3. 3 prong-2 prong AC outlet adapters – do folks outside the USA have this problem?
  4. Display Port -> HDMI adapters
  5. HDMI -> Audio + Composite video adapters (Red, White, Yellow)
  6. Cheap Speakers – because after you realize that you will never be able to connect your tablet to that old TV set, you need to hear what you are watching on your tablet or laptop.
  7. Audio Cables – my preferred set up is two 3.5mm Stereo Male to Two RCA Stereo Male Y-Cables and a pair of Female-Female RCA adapters. This will help you out if you need to plug your audio source into whatever they call a stereo in the house – the Aux In may be the 3.5 Mini Stereo or it may be Male RCA jacks.
  8. USB Card Reader – because you never know who is going to show up with what camera or phone.
  9. Hand Crank Flashlight & Radio – lest you forget the realities off life off the beaten path. A good old paper book with survival skills may be handy too.
  10. Inflation Pin for Football/Soccer ball (if you have kids you should have these everywhere).
  11. Wire (lamp wire – zipcord), Wire strippers and electrical tape – for those moments when you have to take interop into your own hands.
  12. rechargeable batteries, if you are using stuff that has those kind of batteries.
  13. cheap replacement headphones, two pair – because someone is going to lose/break theirs.
  14. one or two basic AC cords (the ones that will plug into any power brick)
  15. USB Adapter pack and a couple of USB cables
  16. HDMI cable and adapters to Mini
  17. Old SD Cards and Memory sticks – sneakernets work great in the country.
  18. A back up phone with a pre-paid sim, so when you drop your precious phone in the drink, you can still call for help.
  19. Ethernet cable – a couple of them
  20. Backup Hard drive with images of the machines you are bringing.
  21. An extra mouse and keyboard (small)
  22. Power Inverters for as many power jack as your car has.
  23. 3 or 4 AC/USB power plugs
  24. One 3.5mm splitter so two people can listen to one thing with headphones
  25. For retro sake I still have a portable DVD player and some classic movies.

This list is available at familycto.org’s github repo. Please feel free to add to it, make additions, share it and the like.

 

OK Now with that all packed, all you really need to remember are the devices and their individual chargers…

4 tablet computers (3 of these use the same style charger/brick -brought a brick for each)
1 Kindle (USB charge – yet another USB Cable)
1 Music Player (Proprietary to USB -grrrrrrr)
3 Camera (DSLR, old point and shoot for the kids, and a cheap one that works underwater) – battery charger for the DSLR, proprietary brick for the point and shoot, way too many AA’s for the underwater cam.
2 Phones – with Internet Sharing capabilities (USB)

smPowerstrip2

Barcelona–F1-Grand Prix-Saul Bass

A quick post – and I realize it has been a while.

circuit%20positiu

Recently, I had the good fortune to visit one of my favorite places, Barcelona. I was particularly lucky to have been there while Formula One Winter Testing was taking place at Circuit de Catalunya. On Friday 2/21/2013 I had the good fortune to see some incredible talent and technology in action.

Today, I found myself immersed in Pinterest.  It happens sometimes. I was on a scavenger hunt for images related to Ray & Charles Eames, Alexander Girard as well as Saul Bass, Massimo Vignelli and Paul Rand. At some point I came across a Saul Bass movie poster I had never seen for the 1966 Frankenheimer film “Grand Prix”   – and the need to blog hit me.

I have seen the movie many times – the title sequence (which I now know was done by Bass, along with many of the race sequences) always blew me away – Dwell magazine seems to agree. And holy cow – if you ever want to go deep on Saul Bass title sequences, you need to go here – oddly Grand Prix is absent from this great title sequence site which I learned about while listening to 99% Invisible Episode 28 – you should listen to them all.

But the poster that I knew, by Howard Teperning, was a clownish affair. But, on Pinterest, I introduced to the real deal – the poster that Bass had designed

220px-GrandPrix_opGrand-Prix-poster-005

How anyone in their right mind could put aside this fantastic Saul Bass poster and choose the other is beyond me… well… I see that sort of thing every day, but it really is a bit tragic. So, I started digging around to see if anyone has any mention of it. All I can find is this bit about how rare original silkscreens do exists. If anyone has one, I’ll take it.

And so ends this little roundabout post. Let’s close with the sights and sounds of F1.

WordPress – Azure – Remote Desktop, almost.

As I mentioned in my last post, I got WordPress up and running in Azure using the Windows Azure Companion. I used one of the prebuilt packages, it was drop dead simple. I then proceeded to play around with Azure Remote Desktop access following Maarten Balliauw instructions which was simple enough. It was kinda fun to see Azure from the inside 😉

Naturally, the next step was to remote desktop into my WordPress instance. I added the required certificate to my instance, but the “connect” button on the dashboard never lit up. I reach out to Maarten via Twitter and he got right back to me. Turns out that the packages were created against an older version (1.2) of the SDK and Remote Desktop requires 1.3. So, after building the Companion from source (I had to fix some broken references to the WindowsAzure.StorageClient assembly), I tried to deploy. I thought I was in business as the solution began to deploy to a brand new deployment, but then I got hit with the following error:

 

Error Creating New Deployment Error creating deployment for hosted service ‘MyProject’ Invalid number of endpoints for role WorkerRole; maximum number permitted is 5. Invalid number of endpoints for role WorkerRole; maximum number permitted is 5. Dr. Watson Diagnostic ID: 3cd580025a79480faa5eb07f8f53c9d4 Subscription ID: 6eed2056-87ae-481e-87dc-cc2856447040 Time started: 12/7/2010 9:33:06 PM UTC
Time completed: 12/7/2010 9:33:10 PM UTC Duration: 0:00:04.2258416

 

Meanwhile, my .csdef file looks like this

My .csdef file looks like this:

<Endpoints> <!– Make sure that this HttpIn is same as that of HttpIn InputEndpoint in ServiceConfiguration.cscfg –>
<InputEndpoint name=”HttpIn” protocol=”http” port=”80″ />
<InputEndpoint name=”WindowsAzureCompanionHttpIn” protocol=”http” port=”8080″ /> <InternalEndpoint name=”VMManagerServicePort” protocol=”http” /> <InternalEndpoint name=”MySQLBasedDBPort” protocol=”tcp” /> </Endpoints>

 

I posted my issue up here

http://code.msdn.microsoft.com/azurecompanion/Thread/View.aspx?ThreadId=4083

Satish got back to me and now I am in the process of contacting Azure Dev Support – who will hopefully be reading this post shortly.

I’ll get back to everyone – updating this post – once I hear more.

 

Looking forward to next steps.

 

UPDATE: 45 minutes later, this is the response I received from Frontline Azure Support

 

Issue Definition: We understand that you are facing issues while creating endpoints when deploying a solution and would like us to investigate on the issue. Scope Agreement: To provide you with the cause of the issue and to help you resolve the issue that you have.

We sincerely apologize for the inconvenience caused to you and would like to inform you that, we have a limitation on the number of endpoints per worker role and the web role. We can create only two endpoints for the web role (HTTP or HTTPS) and Worker role can have only a maximum of 5 endpoints/role(HTTP, HTTPS, or TCP). Please see below for more information on limitation on endpoints of azure web role or a worker role:

http://social.msdn.microsoft.com/Forums/en/windowsazuredevelopment/thread/fa85f770-aba9-40ac-a4ac-2367f7ac3495

Hope the above information is useful to you. Please accept our apologies for the inconvenience caused. Let us know if you need any further assistance and we shall be glad to assist you.

Looking forward to your response. Thanks  & Regards,

 

I now need to run an additional test – if I turn OFF RDP, then I believe the deployment will be successful and the explanation provided will be insufficient. More news as it develops.

 

Update # 2 – Allowing RDP seems to be using up my Endpoints!

By that  I mean that I created the package without enabling RDP and the deployment went fine and Windows Azure Companion works fine.

I them packaged the exact same built, this time enabling RDP and when I deployed I once again got the message about Maximum number of endpoints. So, what does this mean? Does enabling RDP use up your available endpoints??

More info when I get it.

Update #3 – I have been escalated

I got a quick reply from Frontline support informing me that my issue was being escalated – mostly because I couldn’t provide a Deployment ID because my package won’t deploy ;o Here was the response:

Thank you for the quick response. We would like to inform you that in your case, our cloud integration team will be able to work with you and resolve the issue at a quicker pace. We have escalated your issue to our cloud integration team and one of our engineers will contact you to work with you to resolve the issue.

Meanwhile, if you have any further questions or concerns, please feel free to contact us and we shall be glad to assist you.

I am looking forward to working with the cloud integration team! More news as I get it.

Hands Getting Dirty in Windows Phone Dev, Thanks to Baba

OK, part of my goal for the holiday weekend was to start digging a little deeper into Windows Phone development (amongst other things). Right off the bat, I sidetracked myself and decided to play around with deploying WordPress in Windows Azure/SQL Azure. Both of you who read this blog know that I have been involved in the Orchard Project and that I am really excited about the progress there. However, I have been saying for a long time that it is all about interoperability – so for Azure – I needed to see what it was like deploying WordPress, using the Windows Azure Companion and this great writeup from Jim O’Neil. After a little head scratching – mostly about the where you find the WindowsAzureStorageAccountName – it is not the friendly name that shows up in the account  – see screen grab – it is the name in the URI. Anyhow, that all went amazingly well. At this point I could provision a WordPress site in about 15 minutes. There is one caveat, for the time being, as the Windows Azure Drives are read/write for one web instance and read only for any others – you can only scale up (go to a bigger instance), but not not scale out to multiple instances. This is not a major concern for the types of deployments I am looking at and I am certain that folks are working on the requisite enhancements to remove this constraint.

But, I digress. This post is about progress on the Windows Phone App I am working on. One of the key components is being able to have the phone “Speak” to the user. Bing Translator has that capability – exposed with a number of web services APIs. As this is Silverlight, you need to use the Async Methods – for simplicity – and to rail against the prevailing wisdom I am using the SOAP service (when the tooling is there it is so drop dead simple). But frankly, I was a little rusty on the async syntax and the hoops you have to go through for playing back the audio file that the service returns was a little arcane for a newbie. So, I set off to find a good example. There were a few blog posts with code snippets that were of no use to someone not already really proficient. What I needed was a sample project to “study”. After a total of two hours of searching – sadly even fellow New Yorker Charles Petzold’s 1,000 page free opus on Windows Phone Development was no help – I stumbled onto this post with a great reply from babaandthepigman his avatar may be a can of spam, but the sample code posted here was as fine as jamón ibérico de bellota. So thanks to Baba,  I have cleared the major technical hurdle. More to come!

Tagged as: , ,

#1 WordPress – Azure – Remote Desktop, almost. on 12.14.2010 at 5:02 PM
As I mentioned in my last post, I got WordPress up and running in Azure using the Windows Azure Companion . I used one of the prebuilt packages, it was drop dead simple. I then proceeded to play around with Azure Remote Desktop access following Maarten

Time to get seriously hands on–Windows Phone (Silverlight), Azure, C#4 & Futures, EF4/WCF Data Services & Futures

This past 2 months has brought a slew of new technologies into my life. The biggest surprise was the families new Epson Artisan 725 All-in-One  inkjet which replaces the retched Epson R800. ThatR80was crap from the moment I got it, but I suffered thinking that when it did print well, I was getting something that was superior to what the multi-function amateurs were getting. Was I ever wrong. The fact that I suffered – as did my entire family – under the R800’s reign of garbage is unacceptable. The last straw came when we needed in cartridges for an emergency project and B&H Photo is the only place the tocks them reliably, it was a Saturday, so no B&H that day – so my wife decided she just build a new machine – why not – costs just about as much as the cartridges.  At first I resisted the multifunction machines – I wanted image quality – prosumer stuff. But everything was gigantic and I had no faith in the high end – so we picked the Artisan for about $200 and picked it up at Staples. Within 5 minutes of unpacking it, it was on my wireless network, all 4 machines could print to it – and printing like never before. The scanner was also a huge surprise. So, if you haven’t bought a printer in 3-5 years, do your self a favor and something like this – it frees your mind and lowers your stress level and increases family harmony. Though you will be buying more plain and photo paper. But this was just that tip of the iceberg.

For quite some time I have been following and doing the occasional hello world spike on a bunch of technologies that have happened to catch my fancy. I like the Azure services and I like the way they integrate tightly to the standard dev experience, and yet are very open, friendly and interoperable – cost effective too. But, I haven’t personally, on my own, put any code into production – lotta whiteboards, but not nearly enough running code. This needed to change.

Three things – aside form having small kids and a day job – were getting in my way. The plethora of new core and ancillary features that I also want to get up to speed on. I have been a fan of Entity Frameworks (sneer if you like) and in particular I have always loves the simple elegant power of WCF Data Services 4.0 (nee Astoria) and oData – I am also very excited about some of the futures stuff they have cooking. Plus, any time I get to chat with Pablo Castro is time well spent. Then looking at some of the language & framework  changes and stuff from the community – MEF comes to mind – RIA Services. This list goes on and on. And we are not even touching on the Web Matrix stuff.

The other major piece was the release of Windows Phone. I held out. Put my Android desires on hold and waited. So far I am pleased. Let’s see what I say after this series is complete. I have a bit (read very limited) Silverlight experience. But, I have been itching to get out of the browser for some time now – and this was the perfect excuse. This is also perfect time for me to do some stuff that will run on the awesome set of services offered up by Fran, Hoi & Patrick in Azure and Bing). V2 of this endeavor will certainly find me talking identify and Live with Angus, which is always fantastic.

The final – and most daunting obstacle was simply getting my self back into a place where I could write code without if being pure hell. I has been more years that I would care to remember since I put any of my own code into production. Heck, I haven’t written any POC code for over a year – unacceptable! But getting back on the horse can be scary.

So I am arming myself with some new books (primarily Joseph Albahari’s “C# in a 1,000 page nutshell” and Petzold’s older Programming in the Key of C# and his latest Programing Windows Phone. The additional trick here is I am trying to use an iPad to be the reader for these books.

My experience with the iPad if the past two weeks has been no love affair, I find reading books – books that you are just reading – not working with, is fine. I prefer eInk to the light bulb, and al the swirls and swooshes, but it is serviceable reading a straight up book.  For a manual or instructional text, well this is what we will be testing out.

So with all that going against me, I have set a goal to have a Windows Phone app, in the Marketplace, by the new year. The app will be simple. It will focus around a particular task in lower school education, if will run on the windows phone, use Azure and Bing service as well as some that are quite familiar to the community. It will be the kind of app ScottGu will be searching for in a year or two  – I should be out of beta by then.

I will try to lay bare all of the pains I face as I re-enter the practice of building. When I find myself stuck, I will take little time of to show you my iPad unboxing experience – shot with my Windows Phone. I will also likely do a little monologuing on the iPad as a book replacement.

Folks, It’s late thanksgiving night. I have already beaten the l-Tryptophan, but now I am plain old sleepy. Time to sign off, fire up Albahari and see if I can get past Literals, Punctuators & Operators.

I sincerely hope that all of you can feel as thankful as I do tonight.

All the best,

Nick