Monthly Archives

June 2016

Traveling with Wi-Fi IoT Devices

By | Hardware, IoT | No Comments

These days, a lot of Wi-Fi IoT devices are intended for use in your home where there is typically only a single Wi-Fi access point. You set up the device one time, and then as long as the SSID and password never changes, the device will just continue to work. But, taking that same device on the road can prove to be a challenge. Add a hotel or conference center wireless network into the mix, especially one with a Captive Portal, and it can be next to impossible to get the device onto the internet. I have started using a travel router with…

Read More
Adafruit BMP280 sensor: https://www.adafruit.com/products/2651

A Simple IoT Project using NodeMCU

By | IoT | No Comments

This is post 12 of 13 in the series “IoT with the ESP8266” At a recent conference, I showed a simple demo for the ESP8266 using NodeMCU. This demo connected to Wi-Fi, synchronized the time with an internet time server, and then read temperature and air pressure from a sensor every 5 seconds and published the values to a MQTT broker. It was essentially a fully functional IoT solution (minus a lot of the exception handling and compensation that a more polished app would include). For the temperature and barometer, I used a BMP280 sensor available on a small board from Adafruit that…

Read More

Kendo Grid Custom Column Sort

By | HTML5, JavaScript, Kendo UI | No Comments

In my previous post, I demonstrated a simple natural sort that could be used to generate a sortable string that has mixed letters and numbers by padding the numeric portions of the string. As demonstrated in that post, alphanumeric strings may not sort the way users expect if it uses the standard ASCII sort instead of a natural sort:

While it is true that we could implement our own IComparer in C#, by using a string extension method, we can generate a sort-friendly string that can easily be used outside of your C# service. In this post, I’ll show you how…

Read More

Mystery Solved: SQL Database Project Won’t Update using Schema Compare

By | Visual Studio | No Comments

I recently started using a SQL Database Project in Visual Studio 2015 to on a (pre-existing) complex database, and since the previous source control was pretty much nonexistent, it’s been a welcome change. Overall, the upgrade process went pretty well, with one exception that kind of screeched the whole thing to a halt. Since I’m sure I’ll run across the same issue again someday and by then I will have forgotten what the solution was, I’ll share it with you – and myself – in blog form.

Read More

Routing in Angular2

By | Angular 2 | 2 Comments

This is post 9 of 9 in the series “An Introduction to Angular 2” In this post we will look at how Routing is done in Angular2. Router in Angular2 has changed quite a bit over the span of Angular2. When Angular2 Beta shipped it shipped with a Router which the Angular team are now deprecating in favor of the more modern Component Router. The old router is still available over a deprecated package but in this post, we will be using the new Component Router that is part of Angular RC and forward. To start using the new Component…

Read More

Working with HTTP – An Introduction to Angular 2

By | Angular 2, HTML5, JavaScript, Microsoft, News, Web | No Comments

This is post 8 of 9 in the series “An Introduction to Angular 2” In a previous article, we discussed RxJs and how we can use it with Angular2. In this post, we will take a closer look at HTTP and some of the key differences in using HTTP with Angular 2 vs Angular 1. Background jQuery came up with a very intuitive way of dealing with HTTP requests (XMLHttpRequest (XHR) and JSONP). It introduced a $.ajax() method which takes a request configuration and returns a promise. Many JavaScript frameworks followed the path of jQuery and Angular 1 was no different. While similar…

Read More

Customizing Search Result URLs in Sitefinity

By | .NET, C#, Sitefinity | No Comments

One of Sitefinity’s many features is its search capabilities. Using Lucene under the hood, Sitefinity indexes your site content, both built-in content types and dynamic content types, along with static HTML, and allows you to present organized results to the user. You can customized what is and isn’t indexed among other things. Most of the time, Sitefinity is smart enough to create search result URLs that take you directly to the content in question. If you have “/my-news” as your news page, for instance, a particular article URL might look something like “/my-news/2015/1/1/my-article-url”. The search indexer automatically takes the page…

Read More

Directives in Angular2

By | Angular 2 | No Comments

This is post 7 of 9 in the series “An Introduction to Angular 2” There are two different types of directives in Angular2. They are Structural Directives Attribute Directives Let us look at both of them in more detail – Structural Directives A structural directive changes the DOM by either adding or removing elements to the DOM. Some of the examples of Structural Directives are ngIf ngFor ngSwitch Structural directives internally use the HTML5 <template> tag which sets the DOM elements CSS display property to none by default and Angular2 not only sets the display to none but also removes…

Read More

An introduction to RxJs in Angular2

By | Angular 2 | 2 Comments

This is post 6 of 9 in the series “An Introduction to Angular 2” In this article we will discuss the importance of RxJs in Angular2 and also look at couple of examples on where RxJs plays a crucial role in Angular2. But first, let’s try to understand what RxJs is? RxJs is short for Reactive Extensions for Javascript which brings the concept of Observables, which we know and love a lot in a lot of server side technologies, to Javascript world. Angular2 team are moving towards Observables instead of Javascript Promises for Http and Form data. Now, before we…

Read More

Creating and Injecting Services – An Introduction to Angular 2

By | AngularJS | One Comment

This is post 5 of 9 in the series “An Introduction to Angular 2” In my last post we learned how to write our first Angular 2 component by writing a simple application comprised of a simple weather widget. The data displayed by our weather widget was static, defined directly within the component itself. Today we’ll learn about creating and injecting services. I’ll expand on the previous example by extracting the weather data into a separate service and injecting that service into the component. An Angular 2 Service In order to keep our weather component as simple as possible, we’re going…

Read More

Xamarin Android – Launch App From Browser

By | Android, Android, Xamarin | 2 Comments

Often times your mobile application will have an associated website and a typical scenario is to allow the user to open the  mobile app from the site when browsing on their mobile device.  Here is how you can accomplish this in Xamarin Android. First is the activity that will be the entry point for links coming from the browser.  In my case I just want to grab the passed in parameters, which we will talk about later, and then kickoff my main activity and that is all that is going on here.  Because this activity has no associated layout, i.e. we aren’t…

Read More
Sitefinity 9 for Developers Book

Sitefinity 9 for Developers

By | Sitefinity | No Comments

We at Falafel Software are excited to announce the release of the updated Sitefinity 9 for Developers book, available for immediate purchase in the Falafel Store. This update includes an exclusive new chapter covering the new Web Services module introduced in Sitefinity 9, useful for building and managing API services for your Sitefinity content. As a result of this new update, the Web Services chapter has been entirely rewritten to offer a developer-focused look at its use, configuration, as well as helpful tips and tricks and even gotchas to watch out for when getting started. Despite the introduction of this…

Read More

Data Binding – An Introduction to Angular 2

By | Angular 2, TypeScript | One Comment

This is post 4 of 9 in the series “An Introduction to Angular 2” Data binding in Angular 2 is another area where things have changed a bit compared with Angular 1.  The ways or types of data binding have remained the same: interpolation, one-way, two-way, and event, but the syntax has changed.  This post will show that new syntax. The following examples assume the application is accessing component below:

Interpolation Interpolation is something very familiar from Angular 1 and it uses the {{expression}} syntax.

In Angular 2 it is pretty much the same but we can omit…

Read More

A Simple Natural Sort

By | .NET, C# | 5 Comments

If you’ve ever had to sort alphanumeric data, you’ve probably encountered the issue of sort order when letters and numbers are mixed. Here is a quick example:

The first set is using a standard ASCII sort which is sorted correctly, but not what most people expect–shouldn’t a2 come BEFORE a11? What they want is a natural sort which treats letters as letters and numbers as numbers rather than treating everything as an individual ASCII character. There are PLENTY of natural sort solutions out there and some may work better for your particular situation, but I came up with a simple natural…

Read More

Writing Your First Component – An Introduction to Angular 2

By | AngularJS | One Comment

This is post 3 of 9 in the series “An Introduction to Angular 2” If you’ve been following along with this series, by now you should be comfortable setting up a basic Angular 2 application and running it in your local browser. You should also be familiar with the language options available to you as an Angular 2 developer. In this blog post we’ll be looking at how to write an Angular 2 component. All examples will be in TypeScript. Creating an Angular 2 Component Components are the core building blocks of Angular 2 applications. They represent distinct areas of an application’s UI…

Read More

Bootstrapping Your App – An Introduction to Angular 2

By | AngularJS, JavaScript, TypeScript | No Comments

This is post 2 of 9 in the series “An Introduction to Angular 2” Bootstrapping your app in Angular 2 is quite a bit different than in Angular 1 where we add “ng-app”.   Bootstrapping in Angular 2 uses the ‘bootstrap’ function from which is located in angular2/platform/browser.  Here are examples of bootstrapping an Angular 2 application.   Which example you use will depend on which language you are using JavaScript(ECMAScript 5), JavaScript(ECMAScript 6), or TypeScript. Bootstrapping with JavaScript(ECMAScript 5)

Download complete code sample for ECMAScript 5 Bootstrapping with JavaScript(ECMAScript 6)

Download complete code sample for ECMAScript 6…

Read More

An introduction to Microsoft PowerBI – Video Blog

By | News | No Comments

Recently Kevin Babcock on our team did a webcast on getting started with Microsoft PowerBI. We thought it would be a great idea to record this and make it available for all developers who want to get started with data visualization . Kevin gives a great overview of the PowerBI platform as well as a quick getting started introduction. Enjoy the recording. Cheers, -Falafel Software Team

Read More

An introduction to Angular 2 – Series

By | Angular 2, AngularJS, Web, WebUI | No Comments

This is post 1 of 9 in the series “An Introduction to Angular 2” At Falafel Software we like to stay engaged with the community and share our knowledge around topics that are current and interesting. Tomorrow we will be starting a series on topics about Angular 2 to help developers get started. The topics will be: Angular 2 Language Options Bootstrapping Angular 2 Writing your First Component in Angular 2 Databinding and Expressions Creating and Injecting Services Understanding the role of rx/js and observables Directives in Angular 2 Angular 2 and Http Angular 2 Routing Explained Loading Components on Demand…

Read More

ASP.NET Core Training – June 2016

By | News | No Comments

If you’ve been wondering when the time would come for you to start learning about ASP.NET Core, it’s quickly approaching. ASP.NET Core RC2 should be available some time in the next few weeks, and Steve Smith is going to be teaching a 2-day online class on ASP.NET Core June 14-15 2016. The first day will cover ASP.NET Core fundamentals; the second day will offer an overview of ASP.NET Core MVC. Both sessions are 4 hours long, from 1pm to 5pm Eastern Time (10am-2pm Pacific). Space is limited so if you’re interested please register early. ASP.NET Core Online Training – Both Days…

Read More

Working with Hybrid Forms in Sitefinity Widgets

By | .NET, C#, MVC, Sitefinity | No Comments

Throughout the course of web development, you often find yourself in a situation where you need data input from your user. Scenarios range from a simple contact form, to something as complex as a multi-part job application. In either case, Sitefinity offers multiple solutions. The easiest solution, for the simpler forms such as the aforementioned contact form, is to use Sitefinity’s built-in Forms capabilities. Much like with their pages, Sitefinity Forms provide a very simple, powerful way to create and customize even more complex forms for your site. The resulting data is then stored in Sitefinity, and can be set…

Read More
Creating a new Xamarin iOS Application

Xamarin Quick Tip : Add a Full Color Image to the Navigation Bar

By | .NET, C#, iOS, Visual Studio, Xamarin | No Comments

In iOS the Navigation Bar is not one of the easiest things to stylize. In a recent project, I needed to add a full color image of a logo on the left hand side of the Navigation Bar. Here is how I accomplished this requirement. Setting Up the Project Create a new Xamarin Blank iOS project in Visual Studio. I’ve named mine NavBarFullColorLogo. Creating the Storyboard Once the project has been generated. Add a new Empty Storyboard item to the project, name it Main.storyboard. Open the Info.plist file, and select Main.storyboard as the Main Interface. Open the AppDelegate.cs source file, and…

Read More