Happy Holidays to C Programmers

Not sure where I got this, but still like it:

 * find the important things in Life, the Universe, and Everything

typedef short	some;		/* some things are short */
typedef some	very;		/* some things are very short */

#define A			/* The first letter of the English Alphabet */
#define LINE	2		/* 2 points define a line */

#define TRUTH	BEAUTY		/* truth is beauty */
#define BEAUTY	10		/* and beauty is a 10 */

#define bad	char		/* burnt on both sides */
#define old	char		/* the great Chicago Fire */

#define	get	strlen		/* during your life, try to get some sterling */
#define youmake	float		/* you make it, I'll drink it */

#define		yourgoals	in terms you can understand
#include	"yourdreams"	/* for the future */

	/* everyone needs goals */

short	term;
double	yourpleasure();
double	yourfun;

long	Term, play(), agame;

	/* everyone needs diversions */

old *joke = "Why did the chicken cross the road?\n\tTo get to the other side!\n\t\tWocka Wocka Wocka!\n";

bad	*joke;		/* wait- you haven't heard it yet! */
	short laugh;	/* please */

	laugh = get(joke);
	write(1, joke, laugh);	/* write it down- don't say it */


	/* most folks like music */

long play(record)
long record;
	very pleasant = TRUTH;		/* if you like music */

	while (record == pleasant)

	return( pleasant );		/* music soothes the savage */

double	yourpleasure(one, way)		/* this is necessary if */
some	one;				/* is watching ,or if you have a */
long	way;				/* to go  */
		/* this can change one while maintaining one's identity */
	one = one * one;
	return( one );		/* after all, it should have at least doubled */

hold(temper)			/* good advice */
A short temper;			/* is a dangerous thing */
	A long	time;		/* is what you need */
	very calm;		/* is how you should be */

	calm = temper, temper;

	while (calm--)

	return(calm);		/* if possible */

	/* now, on to the main thing */

main(thing, mustbe)		/* to balance work, play, and goals */
some thing, mustbe;		/* important, or we wouldn't be here */

	long	time();		/* know C */
	very	bored;		/* the result of too few goals */

	short	hours;		/* make */
	long	yourwork;	/* which makes for */
	short	tempers;	/* which can be improved by */
	long	laughing;

	/* first, set priorities */
	yourwork = 0;
	yourfun = 1.0e+38;

	if (yourpleasure( mustbe, yourwork ))
		yourfun = yourwork;
		yourfun = play( agame );

	bored = yourfun - yourwork;  	/* nothing to do? */
					/* reach out and touch someone! */

	switch ( bored ) {	/* connects all of this together */
		hours = hold(LINE); /* no way to avoid it, take a */

		/* take a music break */
	while ( thing-- ) {	/* you make my heart sing */
		youmake everything;
		very groovy;

		/* focus on what is important to you */
	while ( yourfun < 0 ) {
		yourpleasure( mustbe, agame);
		yourfun = play( agame );


	exit( laughing );

Posted in Essentials | Comments Off on Happy Holidays to C Programmers

Xamarin.Forms Fundamentals: MVVM

In my previous post we started with a blank Xamarin.Forms app and added manual data-binding.   That is, when a button was pressed, we assigned the value in an entry control to the text property of a label. 


Today we’ll look at a better way of doing that.  But hold on to your hat, and fasten your seat belt, because we’re going to dive into the deep end.   

Continue reading
Posted in Essentials | 3 Comments

Xamarin Fundamentals

In my previous (and first) posting on Learning Xamarin, I demonstrated how to create a pretty cool program out of the box.  Let’s back up now, and start with a blank app, and see what we can build from there.

Create a new project as described in the previous posting, but this time choose a Blank application.

Continue reading
Posted in Essentials | 1 Comment

I’m Back! With Xamarin.Forms Programming

It has been a few months since I’ve posted, and I hope you missed me as much as I missed you.  To re-launch this blog, I’ve decided to provide a series on Xamarin.Forms programming.  

If you prefer to learn by watching a video, check out this video course.

If you are new to Xamarin.Forms (and I’m assuming you are) then there is a lot to learn, but none of it is very difficult… ok some of it is, but not until you’re into very advanced topics.   The one thing you do need to know is C#. You don’t have to be an expert, but you do have to be comfortable with the language.

Continue reading
Posted in Essentials, MVVM, Programming, Xamarin, XAML | 2 Comments

TypeScript for C# Programmers – Slide deck

Here is a link to the slide deck for my presentation at NYC Code Camp.


Posted in Essentials | 1 Comment

Yet Another Podcast: Xamarin.Forms

Microsoft’s Maddy Leger. Program manager for all things Xamarin.Forms Tools, talks about Hot ReLoading and much more

Show links:

Posted in Essentials | Tagged | Comments Off on Yet Another Podcast: Xamarin.Forms

MVVM Ping Pong

Here’s a problem I come across more often than I would have expected.  I want my buttons to use Commands in the View Model, but in response to the command, I have to interact with the user in a way that is much easier to do in the code behind.

Let’s take the example of a user pressing a button to delete a record.  The button calls a command in the ViewModel, but I want to show a confirmation dialog box in the view.  If the user affirms the deletion, I want to do the work back in the View Model.  Oy.

Continue reading

Posted in MVVM, Xamarin | Tagged , | 8 Comments

Xamarin Quick Hit: Dimming a button to indicate it is disabled

I often have to dim a button to indicate that it is disabled, and I want to do that via data binding.

Continue reading

Posted in Essentials, Learning, Xamarin, XAML | Tagged | 2 Comments

Visual Studio for Mac – my newest Pluralsight Course


At the core of effective application development is a thorough knowledge of Visual Studio Mac. In this course, Visual Studio for Mac, you will learn how to work with VS Mac to produce enterprise-quality software. 
First, you will explore the IDE by taking an extensive tour. Next, you will learn how Visual Studio Mac supports source control; specifically Git. Finally, you will discover how Visual Studio Mac supports Azure. When you are finished with this course, you will have a foundational knowledge of this integrated development environment that will help you as you move forward to creating software.

Click here

Posted in ASP.NET Core, Essentials, Visual Studio, Xamarin | Tagged | Comments Off on Visual Studio for Mac – my newest Pluralsight Course

Learn to Program (From Scratch!)

John Papa and I have just released our new Play by Play on Learning To Program.   If you know of someone who has wanted to learn to code but didn’t know where to start, this might be a great option.

Posted in Essentials, Learning, Programming | 5 Comments

App Center Distribution

In my previous posts I showed how to get started with App Center and how to build an app on App Center.  In this post, I will demonstrate how to distribute your shiny new app to  your alpha or beta testers.



Return to App Center and confirm that your application has been built with the latest check in.  Next, create your distribution group.

Create A Distribution Group

To do so, click on Distribute Groups, where you will see a button in the upper right hand corner: New Group.

Create and name your group (e.g., Alpha Testers) .  You can allow public access , but then device registration won’t work (at least for now).  Leave this off, and enter email addresses into the box labeled Who would you like to invite to this group?

Continue reading

Posted in App Center, Xamarin | Tagged | 1 Comment

Yet Another Podcast #181 – Matthew Robbins on MFractor

Matthew Robbins is a Xamarin and Microsoft MVP and he is the creator of MFractor, a mobile-first utility for Visual Studio Mac.

Our site: https://www.mfractor.com/
Documentation: http://docs.mfractor.com/
Localisation Tooling Blog: https://www.mfractor.com/blogs/learn/localising-your-xamarin-forms-apps

Notice: Yet Another Podcast listeners can use the following discount code for 10% off MFractor Professional!  YET-ANOTHER-PODCAST

Posted in Podcast, Product Reviews, Programming, Recommendations, Tools and Utilities, Xamarin | Tagged | Comments Off on Yet Another Podcast #181 – Matthew Robbins on MFractor