Powershell tip: how to unblock multiple Windows binaries

When you download a random Windows executable or binary, Windows Defender attempts to protect you from malicious code.  This is awesome for less savvy users as it prevents them from accidentally running something that might harm their machine.  We live in uncertain times, dear reader, where fake news, spyware and generally malicious entities are rife.

blocked.PNG

There are times when more experienced amongst us have a legitimate reason to download and run naked binaries that Defender doesn't know about from trusted sources.. I really do mean to download this program and I want to run it gosh darn it; the simple act of right-clicking on the file and clicking the unblock button gets you going in this case.

unblock.PNG

Only problem is, what if you have, for example, downloaded a beta version of a large program containing many nested forders of binaries.. in my recent encounter with this issue, Adobe Character Animator 2.0.  Unfortunately you can’t simple select the folder and unblock all contents using the above technique.

Crap.  

Oh wait: wonder if Powershell can help me?  

Caveat Emptor: Windows is blocking untrusted binaries that your browser has downloaded for a reason. Use this technique with extreme caution if and only if you know where the code came from and you trust the sender.

PS C:\users\jeclarke\Desktop\CharacterAnimator> dir -Recurse | Unblock-File

Job done. 

Random musings from Build 2018

IMG_0515.jpg

Build 2018

This article is neither a comprehensive review of this year's Build conference nor does it represent an official viewpoint from my employer, purely personal thoughts on what I experienced last week.

Developer conferences like my employer’s Build Conference are a typically a strange mix of professional, personal, stressful, fulfilling, social, challenging, intense experiences that culminate in a feeling of “that was kinda good but thank god it’s over”.  I just reached that milestone for this year’s edition and figured I might write down some thoughts this time around in the spirit of blogging more.

Satya Keynote

https://www.youtube.com/watch?v=rd0Rd8w3FZ0&feature=youtu.be 

The theme of the main keynote this year was intelligent cloud, intelligent edge.  I’ve personally struggled to relate to these terms in the past so it was good to get some time to hear more about what we mean by them as well as to translate them into tangible concepts and demos. 

The three foundational technologies that were covered as part of this were ubiquitous computing, AI and Multi-sense, Multi-device experiences.  Ubiquitous Computing is a no-brainer to the author; this article was written using several PC's, an iPad and an Android phone using Word.  I was prompted would I like to continue as I move amongst devices thx to WIndows Timeline.  Any application or experience that can't offer this from the get-go will struggle to gain adoption (which is also why i like Todoist so much as they started with this vision also).  As more and more devices become intelligent and cloud connected, technology starts to melt away and become invisible as it simultaniously becomes pervasive.

Much has been written about this wave of AI which holds much promise and is an area that is exploding in many dimensions.  One of the phrases used by Satya that resonated with me was that it is less about the breakthroughs in research, more about how those can be translated into frameworks and tools to enable devs to have impact in every industry: commoditize so that anyone can use it.  This definitely speaks to the Innovation=invention + impact equation that I'm fond of.  Where AI is concerned, it is also reassuring to have topics such as ethics and privacy front and center, and getting so much emphasis from Microsoft and others.  The pace at which the frontiers of AI are moving forwards and opening up new opportunities is dizzying but it isn't just the tech it's how we build frameworks to incorporate into society, government, law etc.

The demos that really brought home the concept of intelligent edge to me were seeing both a DJI drone as well as a Qualcomm intelligent camera run the same ML models trained in the cloud, doing inferencing locally without the need to upload.  As a photographer, the evolution of the DSLR into a SmartSLR has been rattling around in my head for a while now and I can really see that as a shining example of the intelligent edge.  More on that in a future post.  As a side note, the fact the DJI has an Azure Machine Learning SDK in beta has made the desire to pick up a drone overwhelming at this point :-)

In the same way that tasks are now accomplished using a wide variety of devices with the state stored and preserved in the cloud, so too are input modalities beyond the traditional taking off with speech and "intelligent speakers" showing the way with voice input.  But why should you only use / interact with a single chosen / blessed solution?  What if you want to mix and match different assistants for different tasks?  The Amazon Echo / Cortana demo shows a solution that is, to me a user of Cortana, Google Assistant, Siri etc, encouraging as a trend: enabling interop between assistants.  The demo showed Cortana summoning Alexa and vice versa to have each one accomplish tasks they are good at in the form of Hey Alexa, open Cortana and read calendar.  I hope that in the future the trend continues to encompass more of the solutions between providers.

The remainder of Satya's keynote talked about the Microsoft Graph and how spatial and IOT data types are being incorporated via HoloLens to benefit / target "first line workers". This was brought together and portrayed by Lorain Bardeen in a "meeting of the future" demo powered by AI.  I'm not going to attempt to describe / summarize this but is well worth watching.

Scott Guthrie Keynote

https://youtu.be/G9615XmUfas?t=1m1s

Scott Gu is obviously the man.  I say obviously because a) he’s been an idol of mine for the past 15 years or so and is a big part of why I moved to the US and joined the company, b) he runs half of Microsoft c) he came out with the best line in all of the Build keynotes this year: upon taking a handheld mic from Scott Hanselman and holding it for him “let me add some value” so the “lesser” Scott could keep typing / doing his demo.  Priceless.  Oh and d) um yes OK he is now my boss as well.  Aside from the overall greatness of the man himself, this keynote contained the following items that I plan on investigating further and or trying out:

Visual Studio Live Share: this is such a freaking cool idea / feature which enables collaborative / peer programing between different machines running different instances of Visual Studio and / or VS code.  Instead of emailing a colleague to get help with debugging an issue, you can now start a realm-time collaborate and develop debug together, remotely.  My only follow-on question here is when can I do this in c++ projects as well as .NET ones.

 Visual StudioLive Share

Visual StudioLive Share

App Center integration with Github: this was such a slick demo that showed new integration between github projects and App Center for cloud build, testing etc.  Having set this up manually using appveyor for the Audiovisualizer project the simplicity and capability really resonated with me, must give it a try for that and future mobile projects

Server-less functions / workflows: I was still mentally and physically transitioning from monolithic to micro services when the server-less wave came along so color me a bit on the back foot with this one.  I have yet to try Azure Functions out in a real-world project (hopefully golang is supported) but was certainly inspired by the “Scott or Not” demo showing how easy it is to set up an API and also trigger cloud workflows without the need to set up a server: https://github.com/azure-samples/iotedge-scott-or-not

CosmosDB high performance multi-master write.  I’m not a user of Cosmos-DB for any of my personal projects currently as I tend to do more mobile-centric things and hence prefer the offline first, REST-less approach delivered by the excellent realm.io cloud platform.  However, the PXDraw demo (give it a try!) that showed off new mult-master write performance was certainly impressive and, coupled with global high availability, could be interesting / relevant in the future.

JoeB Day 2 Keynote

https://www.youtube.com/watch?v=rlzZiDgfPz8&feature=youtu.be

JoeB kicked off day two by setting out some of the vision around Microsoft 365 bringing together Windows and Office.  Some highlights for me included Windows Timeline coming to iOS and Android and, gasp, making your PC a perfect "second screen" to your phone via a new app that let's you read text etc from the desktop.  Times really have changed, haven't they?!  He also showed off "Sets" that enable the grouping of windows / tasks together.  Kevin Gallo showed ML powered grammar checking in Word, Linux line feeds coming to notepad and a new revenue sharing model for the Microsoft Store.  And Charles Morris showed off Adaptive Cards and how you can use them to pay bills in the browser.  That's my attempt to condense 90 minutes of content into a single paragraph :-)

Day Job: Composition and the Visual Layer

The Windows Composition team that I’m part of builds the Visual Layer for Windows: basically the rendering and animation stack that powers the user interface.  The big news this year is that “modern” XAML can now be used not only in UWP apps but also WPF, Winforms and plain old Win32 using a new capability called XAML Islands. This is something we have been working to enable for a while now hence great to see it finally see the light of day.  Islands make it possible for existing app codebases to incrementally adopt new UX tech without the need for a wholesale rewrite.

The foundation for this capability is a new API we shipped in the Windows 10 April update called DesktopCompositionTarget that enables rendering, effects and animation capabilities from Windows.UI.Composition.* to be accessed in Win32 apps, hosted in an HWND without the need for a CoreDispatcher (in case you are interested, DispatcherQueue is the new concept we introduced in the Fall Creators update that works in UWP and Win32 which enables a win32 app to create a Compositor object.  Okay, okay too geeky).  Expect to see a sample showing how to do this soon.  On top of this building block, XAML Islands will provide a higher-level way of plugging in modern UI.  To learn more check out Mike Harsh and Scott Hunters session as well as well as .NET Core 3 Present & Future again with Scott & Mike. TODO: .NET ROCKS

In addition to XAML Islands we also talked about and showed

Vector graphics in the visual layer and Lottie, along with new Fluent Building blocks like advanced physically based drop-shadow API's: Creating Innovative Experiences for Fluent Design using the Visual Layer, Danielle Neuberger, Sohum Chatterjee more on this coming soon.

Demo of hardware accelerated vector graphics with Sohum

https://www.periscope.tv/WindowsUI/1MnxnedOYmeJO

Demo XAML Animation coolness with Steven

In addition to the sessions, there was an expo that was expanded this year and included a bunch of teams / demos.. the Comp team were manning Windowing and Composition because we like composing stuff ;-)

Other sessions in my Queue

Standard C++

Since we are now shipping full support for C++/WinRT in the Windows 10 April SDK, it is dead simple to create a C++ XAML project in Visual Studio.  Because of this, the time is ripe to learn more about C++/WinRT hence this one is worth a watch:

I'm doing a personal push to update all of my Composition samples to C++/WinRT as we are seeing strong interest from ISV's keen to move their existing Windows desktop/centennial apps currently using WPF wrapped around custom C++ DirectX rendering over to modern XAML, Windows.UI.Composition, c++/winrt.DirectX12.  More on this in a future post.

    Windows timeline, Adaptive Cards, Sets

    This set of tech is all inextricably linked and all pretty interesting.. it powers much of the multi-device ubiquitous computing tech that makes roming [sic] between device so easy.   These sessions are all on my list

    Adaptive Cards demo with Adam (and Thomas)

    ML.NET

    Having spent the last 15 years or so working with .NET, and as someone who has yet to have a chance to dive into the world of AI / ML at all, I'm very intrigued to learn more about how we're going to bring Machine Learning to that community of folks, hence will be checking this out:

    Also: https://www.microsoft.com/net/learn/apps/machine-learning-and-ai/ml-dotnet

    PWA

    Progressive Web Apps are getting quite a bit of attention right now and are appealing for a number of scenarios. There were a couple of sessions that covered the topic.. this one is one I plan on catching up on for an update on Service Worker, Web manifest etc:

    Google IO aka flutterconf

    Heresy!  I'm referencing a competitor's conference in my post about a MSFT conference!  By a strange quirk of scheduling, on day 2 of Build we had day 1 of Google IO including the main keynote(s).  Unfortunately this conflicted with the JoeB keynote as well as travel into Seattle so I'm still catching up on these.

    Having got to go to IO last year, I definitely plan on watching some of the sessions, particularly those on Android P as well as the new Flutter UI framework which Product Manager Tim Sneath as kindly arranged into a handy dandy playlist for nubes.  Google IO sessions are really high quality and there is usually some great content there.  Anything that Romain Guy, Chet Haase, Tor Norbye et al did this year I will be all over.  Also extremely interested in the progress on Kotlin after the big splash last year.  Also worth checking out:

    As a sidebar, cross platform UX is heating up at the moment.  Flutter is looking interesting / strong, and other's are emerging such as http://platform.uno/ as well as asp.net Blazor.  Interesting to see how things move forwards in that space.

    People

    My favorite part of any dev conference is without a shadow of a doubt the people part.. catching up with old friends and meeting new folks, generally annoying people by taking pictures of them.  This year was no exception on both counts.

    I'm not going to attempt a summary as this is already way too long.  Thx for the read and sticking through to the end, hope to catch you next year!

    Cheers!

    James

    DcykuyAVMAA7EU7.jpg large.jpg

    Off to visit NAB 2018

    I’m writing this form a secret bunker in SEATAC airport as I head to the National Association of Broadcasters exhibition in Las Vegas, NV.  Back when I worked in the Post Production biz doing ROOT6 and ROOT6 Technology and, previously Avid, this was pretty much an annual pilgrimage to work the booth, demo and talk to customers (and in one extreme case pull an all nighter on the show floor to complete writing the product code for a stage demo).

    These days it’s an opportunity to catch up with old friends and check out the latest guerilla film making gear.   My list this year consists of 

    •  Adobe: find out what’s new in Premiere, After Effects, check out Andrew Kramer’s doubtless awesome talk [SL4610]
    • Black Magic Design : New Pocket Cinema Camera 4k, Resolve 15, the usual overwhelming array of small black boxes [SL5816]
    • DJI : Always full of dope tech [C2207]
    • Fujifilm : Cinema lenses, X-H1 and GFX [C7225]
    • Sony : Check out the A7RIII and friends [C4325]
    • Canon: Tease them about failing to innovate in the pro SLR space [C4325]
    • CODEX Digital : See what’s going on with 8K production.. and rib Dando about his Shed Exectutive Producer credit on Black Panther [are you guys exhibiting?]
    • Freefly Systems : their new phone gimbal and the latest Movi Pro updates [are you guys exhibiting?]
    • Zhiyun : check out the crane v2
    • Atomos : Give ‘em crap about firmware updates for the Ninja Inferno [C9425]
    • Really Right Stuff love you guys [C8843]
    • B&H Would be rude not to visit, right? [C10916]
    • Red cameras [N201LMR]
    • Haivision [Renaissance]
    • SmallHD [OE5098]
    • Vision Research Phantom Flex [C10035]
    • Google [SU218]
    • Anything VR/AR
    • Whatever “the thing” is this year

    Obviously it will be awesome to catch up with the ROOT6 guys and check out the latest improvements to “my baby” over at SL7613

    I also want to use the trip as an opportunity to complete a blog post on SmartSLR’s, let’s see if I have time.

    If you are at the show and would like to say hi or catchup, DM me on twitter @clarkezone

    Post-PC Fail: Unable to renew Apple Developer Membership in Safari on iPad

    Once again bitten by the iPad not having a “full” / “proper” browser.  I’m traveling with only an iPad (I don’t want to think about work at all whilst on sabbatical so no Surface / Windows for me), get an email from Apple saying my Developer subscription is running out in 13 days, attempt to renew, got in fine with two factor authentication,  click renew membership:

    IMG_0094.PNG

    ..and i get this: 

    IMG_0095.PNG

    Another time I’ve soarly missed the Surface Pro 5 on this trip.   Not sure what to do next other than try and find an Internet cafe.  Oh well.  Dear Apple: 1) if you are serious about this “Post PC” thing, please ship a full no compromise browser on the iPad 2) failing that, at least make all your own web properties including the developer ones work with the mobile subset that Safari supports.  Thank you.

    Flickr embed Test: SquareSpace #fail

    Update.  Markdown based embedding doesn’t work.  This is a bit of a fail, starting to wish I’d brought the Surface Pro.   The fact that the iPad doesn’t have a desktop class browser is contributing here.  Post-PC err no, not really.

    SquareSpace doesn’t seem to care about people who only travel with an iPad like me on this trip: their browser-based blog post editing tools don’t work on the iPad and the SquareSpace blogging iPad app itself is appallingly limited.  More on this in the future but, for now, does this embed correctly?  Doesn’t seem to be a way to specify image size so it may be huge or tiny.  Here goes:

    bla

    Fiji: first week in paradise

    I’m writing this at the end of our first week as we travel from Viti Levu, Fiji’s main island, to the garden island of Taveuni where we’re spending our second week. As we sit in the car on the way to the airport, there is a protest march in Nadi, our destination and place of departure, traffic is stationary as a result, we are watching said march on our driver Rezwan’s iPad on a Facebook live stream (isn’t technology amazing?). We just said goodbye to the Namuka Bay Resort. About that...

    Continue reading: https://spark.adobe.com/page/3dnKikm2DsIp0/ 

    _DSF5166.JPG