File Persistence in Xamarin.Forms Apps

The goal is to persist data to a file.  You might do this for any number of reasons, including storing away user-preferences or, in this case, storing away data to protect you from a crash.

In this simple application we collect names and display them in a list.  If the program crashes after the names are stored to disk, clicking restore will bring them back.

To do this we’re going to create a generic file repository.  This is overkill for this simple demo example, but can be a very powerful pattern to use with larger applications.

Continue reading

Posted in Essentials, Patterns & Skills, Programming, Xamarin | Leave a comment

Code with Meraki

Posted in Essentials | Leave a comment

AirPods First Look

I don’t believe in skimping on tools.  I write software, so I have big monitors and a great chair, and powerful Macs.  I write mobile apps, so I have a bunch of phones.

But AirPods are not part of my toolset.  They are a flat-out indulgence, which is why I asked for them for my birthday.  They are just too expensive to buy for myself and not feel a bit guilty.

But they are truly great.  The sound is amazing, and not being tethered has tremendous advantages.

Continue reading

Posted in Essentials | Leave a comment

Top 10 Mac Utilities for Developers

I recently tweeted a request for nominations for best utilities and productivity tools for Developers working on the Mac.  This list is an aggregate of my recommendations and those of others who I greatly respect.  They are listed in no particular order.

Fantastical is by far the best calendar app I’ve used, and the killer feature is the ability to add appointments on the Mac or on iOS using natural language.  It really gets it and makes adding appointments fast and easy.  Integrates perfectly with Google Calendar and others.

 

ToDoIst is best the in class To Do list (and, frankly, I’ve tried them all!)  This one is just right: easy to use, has few bells and whistles but it has all the critical ones.  It is very easy to add an entry either by clicking or with keyboard shortcuts, and you can set alarms to be notified when it is time to do something.  iPhone companion is great.

SourceTree is my choice for working with Git.  What can I say? Its visual interface is intuitive, it works, and when you fall off a cliff it has easy access to Terminal.

Evernote  My go-to note taking application.  It will do much more, but I use it simply and for just three things: taking notes (which it does superbly well), searching (and with its automatic OCR you can search on anything, even text in images) and managing documents from the highly recommended EverNote scanner (expensive, but the best I’ve ever used and lightning fast)

KDiff3– Best merge tool on the market.  For merging there are four windows: One shows the file with no changes.  The second shows the window with the first set of changes; the third window shows the second set of changes and the bottom window shows the result of adding from either or both.  The popup menu makes merging from either or both changes a snap, and you can choose the order, undo and generally merge in seconds.

 

Postman  You just can’t work with APIs without Postman.  Get it.  Now.

Snagit  I use this a lot, and for a developer the ability to take screen snaps is required.

Vysor This makes projecting my phone onto the screen a breeze.  And you can interact with the phone through Vysor, making development and presentation infinitely easier.

Visual Studio Code – The best text editor I know of, though others are certainly in contention.  I like this one because it feels a lot like Visual Studio; my fingers tend to know what to do.  It also have some terrific features, and is a natural for TypeScript and other  languages.

Instapaper – I love going through blogs and on-line new sources and marking them for reading later in Instapaper.  It gives me just the portability and time shifting I need to stay productive.

Posted in Essentials | 1 Comment

Yet Another Podcast – #168: Greg Shackles

Greg Shackles is a Principal Engineer at Olo. He is a Xamarin MVP, Microsoft MVP, host of the Gone Mobile podcast, organizer of the NYC Mobile .NET Developers Group, author of Mobile Development with C#, and also a monthly columnist with Visual Studio Magazine.

Today we discuss Azure Functions and Server-less programming, F#, Programming Alexa and more.

 

 


Posted in Mobile, Xamarin | Tagged | Leave a comment

I’ll be speaking at DevIntersection 2017

News flash from the department of shameless self promotion:

I’m pleased to say that I’ll be speaking at DevIntersection 2017 in Orlando.  Click on the image for more info, and use the code LIBERTY for a $50 discount.

Posted in Essentials | Leave a comment

Yet Another Podcast #167 – Charles Petzold

Charles Petzold has been writing books and articles about Microsoft-based operating systems since 1984. He is currently part of the Xamarin documentation team, which means he’s a Microsoft employee.

Today we briefly discuss what’s new in Xamarin.Forms and then turn our attention to another of Charles’ true loves: analog computers.  His new (forthcoming) book, Computer of the Tides: Lord Kelvin’s Machine to Disprove Evolution is part of a series of which The Annotated Turing is the first.

 

 

Posted in Essentials | Tagged | Leave a comment

Yet Another Podcast #166 – James Montemagno (Xamarin)

James Montemagno is a Principal Program Manager for Mobile Development Tools at Microsoft.

 

 

Posted in Xamarin | Tagged | Leave a comment

Yet Another Podcast #165 – Jon Galloway on Azure Functions

Jon Galloway is a Technical Evangelist at Microsoft, focusing on Web Development, Azure and .NET. He is also a long-time friend, and a truly great guy. 

 

 

Posted in Azure, Essentials | Tagged | Leave a comment

New MacBook Pro 13″ – First Look

The headline is this:  wow!  I’m much more impressed with this new MacBook Pro than others seem to be.

I won’t belabor all the improvements, but do want to touch on a few.

One, perhaps a killer feature for me, is how much better the keyboard is than on previous MacBooks.  Using what Apple calls “a second generation butterfly mechanism” you get a lot more responsive keyboard, the mushiness is gone, and I find I’m typing far faster on this than my old MacBook.

The trackpad is bigger and it is a force touch that is more responsive than my old one was.

Continue reading

Posted in Opinion, Review | Tagged | 5 Comments

TypeScript for C# Programmers – a new course

Posted in Essentials | Leave a comment

Adding Databound Pickers to a ListView

Databound Pickers are in much demand, and fortunately Karl Shifflett has created one that is excellent and easy to use.  You add it to your program, wire up the data-binding and  data-bound pickerhey! presto! you’re in business.

The tricky bit comes when you want to put it in a ListView and bind to its contents while still being able to bind to other properties of your objects.

 

Here’s an example based on a program I wrote recently (the names have been changed to protect the guilty)…

Let’s start with our Model.

Continue reading

Posted in Xamarin | 2 Comments