Syncing Files Between Devices with Azure File Sync | Xamarin Blog
Where we don’t have to build out some sort of bespoke mobile app sync, this is pretty much the standard way for us to sync files between cross platform and multi platform apps
In a mobile world, network outages are frequent. Devices are constantly moving and connectivity can vary from great to barely connected to offline, with users expecting your app to continue to function properly. For example, field technicians need the ability to log notes in their field service app, no matter the connection state. Apps can support offline usage by …
Source: Syncing Files Between Devices with Azure File Sync | Xamarin Blog
Improving WordPress Performance – Use Azure CDN | Microsoft Azure Open Source Development Support Team Blog
A simple, incredibly cheap, and effective way of improving WordPress performance, especially if you have a global audience
Support for Open Source Technologies on Microsoft Azure App Service
Punishment Driven Development with Louise Elliott on the Hanselminutes Technology Podcast
Been listening to this on the way in to work, am not sure it’s right for the office, can’t decide on which punishments 😉
Scott sits down with software developer and development manager Louise Elliott about her ideas around “Punishment Driven Development.” Why is this such a common way to run a project? Does it work and is it ever appropriate?
The Evolution of Interactive C# – Miguel de Icaza
Source: The Evolution of Interactive C# – Miguel de Icaza
The Early Days
Years ago, in 2008 we introduced an interactive C# shell, at the time a challenge was to adjust the syntax to be suitable for interactive use, to provide a usable decent command line editing API for .NET and to turn our compiler as a service into a tool that could provide code completion.
A few months later, we added a UI shell for this on Linux and used Gtk’s text widget to add support for embedding rich content into the responses. It was able to render images inline with the responses:
<img src="http://static1.squarespace.com/static/57efdeff579fb34c24562253/57efe35729852665353fb396/57efe35e29852665353fb713/1475339381370/xpoyxg.png" alt=""/>
This was inspired at the time by the work that
at Red Hat had done on
. You can still watch a
of what it looked like.
Like Owen, I added a plot command:
<img src="http://static1.squarespace.com/static/57efdeff579fb34c24562253/57efe35729852665353fb396/57efe35e29852665353fb738/1475339378207/xlawtm.png" alt=""/>
At the time, Re-interact took some ideas from
and it seems like they are both inspired to some extent by Mathematica’s interactive window.
Re-interact in particular introduced a brilliant idea, which was that users could go back in history, edit the previous expressions and the entire buffer would be re-evaluated. This idea lives on in Apple’s Playgrounds for Swift.
In the meantime, the IPython project grew and they added one of my favorite features: it was now possible to blend text, explanations and code into workbooks. You can see a sample of this here. For years, I have desired an IPython for C#.
The Xamarin Years
In the meantime, at Xamarin, we experimented with the idea of bringing sometehing like Re-interact/Playgrounds to Xamarin Studio and we shippedSketches:
<img src="http://static1.squarespace.com/static/57efdeff579fb34c24562253/57efe35729852665353fb396/57efe35e29852665353fb73a/1475339377230/Overview001.png" alt=""/>
But while these were interesting for trying out ideas and learning C#, they are not very useful for day to day work. We found that what our developers needed was a full C# REPL that was connected to the application they were running on, so they could experiment with their UI live. This is when we introduced Xamarin’s Inspector. We took the existing engine and changed the way you interacted with C#.
The inspector was originally planned as a debugging aid, one that you could use to attach to a live Android/iOS/WPF process and use to examine:
<img src="https://www.flish.co.uk/wp-content/uploads/2016/05/mac-inspector-repl-small.png" alt=""/>
We wrote several backends to provide some visual representation of the running app:
<img src="http://static1.squarespace.com/static/57efdeff579fb34c24562253/57efe35729852665353fb396/57efe35e29852665353fb73e/1475339379102/mac-3d-view-small.png" alt=""/>
While Sketches used the IDE editing surface and a custom renderer view for results, with the Inspector we took a different route. Our interactive surface was an HTML canvas, and our results are rendered using HTML. This allowed us to do some pretty visualizations for results.
We have only started to explore what is possible in this space, and our last release included various data renderers. In particular, we added support for pretty printing collections and a handful of native Android and iOS results.
Up until now, we had been powered by Mono’s C# compiler and while it has served us well for many years, it pales in comparison with the services that we could get out of Microsoft’s Roslyn. Our code completion and error reporting were limited and the model did not translate too well to F#.
We recently switched the inspector to use Roslyn:
<img src="http://static1.squarespace.com/static/57efdeff579fb34c24562253/57efe35729852665353fb396/57efe35e29852665353fb740/1475339383128/inspector-0.6.0-repl.gif.0-repl.gif?format=original" alt=""/>
With this release, we ended up with an Inspector that can now be used either to debug/analyze a running app (very much like a web inspector), or one that can be used to experiment with APIs in the same spirit as other shells.
Continuous
In the meantime, Frank Krueger took the iOS support that we introduced for the compiler as a service, and wrote Continuous, a plug-in for Xamarin Studio and Visual Studio that allowed developers to live-code. That is, instead of using this as a separate tool, you can modify your classes and methods live and have your application update as you change the code:
Frank also added support for evaluating values immediately, and showing some values in comments, similar in spirit to his
app for iOS:
The Glorious Future
But now that we have a powerful HTML rendering engine to display our results and we upgraded our compiler engine, we are ready to take our next steps.
One step will be to add more visualizers and rendering capabilties to our results in our Inspector.
The second step is to upgrade Sketches based on this work. We will be changing the Sketches UI to be closer to IPython, that is, the ability of creating workbooks that contain both rich HTML text along with live code.
To give you a taste of what is coming up on our next release, check out this screenshot:
<img src="https://www.flish.co.uk/wp-content/uploads/2016/05/csharp-workbook.png" alt=""/>
Developers will still have a few options of richly interacting with C# and F#:
- With our inspector experiment with APIs like they do with many other interactive shells, and to poke and modify running apps on a wide spectrum of environments.
- With Frank Krueger’s Continuous engine to see your changes live for your C# code.
- With our revamped Sketches/workbook approach to use it for creating training, educational materials.
Big Tees Sleepout
I’m doing this next Friday, please support if you can;
On Friday 13th November, dotUK, through it’s founder and director Andy Flisher, will be sleeping out on the streets of Middlesbrough in aid of an excellent local charity, the Teesside Philanthropic Foundation.
The charity has an aim to bring Middlesbrough and Teesside businesses and companies together to help make Teesside a better place to live and work. The Big Tees Sleepout specificially is an annual event aimed at highlighting and tackling the homelessness situation that is right on our doorsteps, a situation which we all agree should not exist in this day and age.
You can support Andy by donating online or by signing up and raising your own sponsorship at the Big Tees Sleepout site itself. If you are unable to support financially, as of course we can’t all do, then please support the event, the charity and our efforts by liking, sharing, and in anyway making the region aware of the event, and the problem.
Thank You.
Originally posted at http://www.dotuk.net/news…