outlook-autodiscover-registry

Solved: Adding an Office 365 Email Account to Outlook 2016

By | Office365 | No Comments

Today, as part of repaving my laptop, I decided to install Office 2016. Everything was going fine until I tried to add my Office 365 email account to Outlook 2016. It seems that Auto Discover is now a requirement for Exchange email accounts – there is no longer a way to manually configure servers. And, for some reason, the Auto Discover process hung while trying to discover the server settings for my email (eventually erroring out) After a frustrating two hours of troubleshooting, I came across this blog post with a solution that worked for me: https://blog.jamesbayley.com/2015/12/01/registry-hack-to-enable-outlook-2016-to-connect-to-office-365/ In my case, I added three DWORD registry…

Read More
angularjsnodejs

Angular.js: Configuration for Two Environments within one Project

By | AngularJS, node.js | No Comments

One of our recent projects is an Angular.js app that uses Node.js/Express as the application server. During development, we create feature branches that are merged into a “develop” branch for integration testing. Then, the we merge the “develop” branch into the “master” branch for production deployment. One issue that we had to solve was how to keep environment-specific config in source control. That is, our Angular app needed to know the URL for its API server, and the API server for development was different than production. The first attempt was to maintain one version of a config file in the “develop” branch, and a different version of that…

Read More
a-rise-in-demand-for-xamarin-consultancy

A Rise in Demand for Xamarin Consultancy

By | Xamarin | No Comments

Since the Microsoft Acquisition of Xamarin, Falafel has seen a major uptick in demand for services on Xamarin Technologies and in the last 3 months, 4 major corporations have hired Falafel to architect and implement Xamarin based solutions for over $1,000,000 in services revenues. When we first heard that Microsoft was acquiring Xamarin back in February this year, we at Falafel Software were both excited and curious. The team here has always loved Xamarin and we are all Microsoft Certified Professionals so this partnership made sense as we work with technologies from both companies. The surprising aspect was since the…

Read More
00-feature

Widget Template Code Customized the Easy Way

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

Sitefinity’s Widget Templates provide a quick and easy way to change how Sitefinity renders widgets, both for built-in content types as well as custom ones. In the backend, it’s just a hop, skip, and a jump away to Design > Widget Templates to access a majority of the templates where you can manipulate the HTML used to render them. Oftentimes, though, you have to do more. Let’s say that, when iterating over a list of news items in the “Titles only” template you want to add a CSS class to some of the items, but not others. This goes beyond…

Read More
Two Wheel Robot on the floor

Windows IoT: Basic Control of a Two Wheel Robot

By | C#, Hardware, IoT, Raspberry Pi, Windows, Windows Universal Apps | One Comment

In my last article, we utilized a Raspberry Pi running Windows IoT Core to bi-directionally control a single DC motor with the help of the L293D chip. In this article, we will take things a bit further and have the L293D chip control two motors placed on a chassis to create a Two Wheel Robot. Materials Raspberry Pi 2 running Windows IoT Core Pi Cobbler with Ribbon Cable (optional) L293DNE chip Adafruit 2 Wheel Robot Chassis Kit (contains 2 DC motors) One 4xAA battery pack (to power the motors) Breadboard Various M-M Jumper wire   Wiring Details Wiring Details Cobbler 5v…

Read More
bat-151366_640

Database Change Management With SQL and BAT Files

By | SQL Server | No Comments

Intro In my previous post I gave an overview of some different approaches to database change management that I’ve had personal experience with, finishing with a teaser about a new strategy that I cooked up for a scenario where I wanted something easy to manage without needing to install anything on the target machine. Using a combination of SQL and BAT files, this strategy is pretty bare-bones, but offers complete control over how scripts are applied, so it has a certain minimalist appeal. It also does not rely on a schema version table, but instead just queries metadata to decide…

Read More
flyway-logo-tm

Database Change Management Strategies Compared

By | SQL Server, Visual Studio | 2 Comments

Intro It is a challenging problem to manage database change in any project that uses a database. In this post, I’ll recap some of the approaches I’ve tried in the past and what I like (or don’t like) about them; then in the next post I’ll describe a new one that I recently composed with one BAT file and multiple SQL files and have been quite pleased with. This post assumes that the target database is SQL Server. Some of the techniques described could be modified to apply to other databases, and some are vendor-specific. Comparison of Database Change Management Strategies Monolithic Upgrade Script The…

Read More
Single DC Motor Control Wiring Diagram

Windows IoT : Bi-Directional DC Motor Control

By | C#, Hardware, IoT, Microsoft, Raspberry Pi | No Comments

In many IoT scenarios, it is possible that automation will be required to physically move something. In order to do this, you will need to utilize some type of motor. In this example, we will control a single DC Motor using the L293DNE chip and the Raspberry Pi 2 running the Windows IoT Core operating system. Materials Required Raspberry Pi 2 running Windows IoT Core Pi Cobbler with Ribbon Cable (optional) L293DNE chip DC Motor (6v motor) One 4xAA battery pack (to power the motor) Breadboard Various M-M Jumper wire Hardware Setup Wiring Details Cobbler 5v to the Breadboard Power Rail #1 Cobbler…

Read More
captcha-required-message

Client-side validation of Sitefinity CAPTCHA MVC Feather Form Field

By | MVC, Sitefinity | No Comments

In the current 9.1.6110 release of Sitefinity, there is a known issue with the Sitefinity CAPTCHA MVC form field that prevents it from firing the client-side validation. If the user leaves the CAPTCHA field blank, the form will still submit (either a full post-back or via AJAX, depending on the settings of the form), and the user will see a generic “Entry not valid” error message. It would probably be better to catch this right away via client-side validation. Fortunately, using Feather, we can easily override the CAPTCHA template to enable this. We simply need to change the input field…

Read More

Microsoft Research Video Commentary – “Towards Better User Interface for 3D”

By | Blogs, Hardware, Microsoft, Multi-Device | No Comments

Being one of those media consumers that have cut the cord with the cable company and consuming media strictly online, I’ve been managing my YouTube subscriptions judiciously. Channels with a low-signal-to-noise ratio get axed quickly. A few months ago hundreds of videos started flooding my feed. The culprit was Microsoft Research. They are publishing videos at a mind-blowing rate. I counted over 1600 videos uploaded during one WEEK in August. Not year, not month, but in one WEEK. The range of the subjects are vast. A random selection of a few are: System Design for Cloud Services – Part 1 GeoS Video…

Read More
Falafel CV Award

Falafel Software awarded Most Innovative Software Development Engineers by CV Magazine

By | News | No Comments

September 9, 2016 – Corporate Vision Magazine has awarded Falafel Software The Most Innovative Software Development Engineers in their 2016 Technology Innovator Awards. The 2016 Technology Innovator Awards recognizes and rewards the firms behind ground-breaking developments that change the way we do business for the better. From CV Magazine, “Falafel Software found itself expanding rapidly on the excellence of its engineers and the incredible sense of teamwork exhibited by everyone in the company. This common mutual respect for each other’s talents has been a major asset for Falafel, causing extraordinary growth, and a level of quality that very few other IT…

Read More
Electron TypeScript VSCode

Getting Started With Electron and TypeScript

By | Desktop, Electron, JavaScript, TypeScript, Web | No Comments

What is Electron? ElectronJS is a cross-platform app framework that allows you to leverage existing knowledge of JavaScript, HTML, and CSS to build apps for Windows, OSX, and Linux using a shared codebase. It is based on Node.js and Chromium and is used by many popular apps such as Visual Studio Code, Slack, and the Atom editor. If you haven’t already, install the Electron Prebuilt package from npm:

What is TypeScript? TypeScript is a typed superset of JavaScript that compiles into plain JavaScript. It is an easy way to simplify large complex JavaScript codebases or ensure integrity when working…

Read More
AppContextTest

Accessing Android Application Context outside Activity in Xamarin

By | Android, Android, Xamarin | No Comments

In Android world, it’s quite common to have a scenario where you want to access Application Context outside Activity or Fragment. One scenario is that if you are building an application that needs Multiple Language support and you want to access Strings from your ViewModels to show Localized strings for error / success messages. Traditionally in Android, the way to get access to Application Context was to hold a Static reference to it when the app launches and then use it later on. The way to achieve this is to inherit from Application in Android and hold your Static Application…

Read More
01-before

Preserve Feather Content Block HTML Formatting

By | JavaScript, MVC, Sitefinity | No Comments

Feather widgets in Sitefinity are a significant improvement over traditional Sitefinity widgets. They are more responsive, provide better tooling, and are easier to customize (both the main area as well as designer views). However, I recently encountered an issue with one of the basic default Feather widgets included with more recent versions of Sitefinity. In this post we’re going to see how to modify this behavior, so that when working with the Feather Content Block widget we have it behave the way we would like. This post also serves a second purpose: Introducing how to modify a built-in Sitefinity Feather…

Read More
Android SDK Manager

Troubleshooting NativeScript Android Setup Issues

By | Android, JavaScript, NativeScript, Telerik | No Comments

NativeScript is one of the most compelling open source cross-platform development frameworks for building truly native mobile apps. If you are new to NativeScript, native mobile app development in particular, or mobile app development in general, it is important to set up your development environment quickly and efficiently. As a developer, you will be very content with the experience that NativeScript provides to get your first hello world app up and running. All you have to do is to follow the instructions in the quick start guide. You would want to look at the Advanced Setup for OSX, Windows and Linux….

Read More
one does not simply delete the node_modules folder in windows

Remove the node_modules Folder in Windows

By | News | No Comments

If you have been doing node development for any length of time on Windows you will, more than likely, come to a point where you would like delete a node_modules folder.  Unfortunately, removing the node_modules folder in Windows is not always a straight forward task thanks to the way node modules work (a module has dependencies, which in turn have dependencies, which in turn…you get the point) as well as Windows’ path length limitations.  In my experience the method that succeeds most often is to use the rimraf deep deletion module for node. Install the module via npm.  Use -g so…

Read More
view-model-typescript-file

Case-sensitive File Naming for NativeScript TypeScript Source Files

By | Android, iOS, JavaScript, NativeScript, TypeScript | No Comments

When working with NativeScript it’s important to pay attention to the casing of filenames for your JavaScript source files, especially when working with TypeScript. When importing classes, interfaces, or other exported TypeScript items from other files, you must make sure that the letter casing in the reference matches the actual source file. More specifically, the letter casing of your reference needs to match the casing of the actual JavaScript (.js) files that will ultimately be loaded by the NativeScript runtime. After all, TypeScript ultimately gets compiled to JavaScript, and you want to make sure everything lines up! To demonstrate this,…

Read More
tmux3

How to Use Multiple Panes in a Bash Console

By | bash, Linux, Windows | No Comments

Windows 10 recently released a Linux subsystem that allows you to run Linux programs on Windows. There is a little bit of magic involved with how they integrated the two operating systems, as Scott Hanselman explains in this introduction/how-to video: http://www.hanselman.com/blog/VIDEOHowToRunLinuxAndBashOnWindows10AnniversaryUpdate.aspx You can do some interesting things with Linux, particularly around shell scripts. Recently, I had the need to run multiple commands simultaneously, and I also needed to separate the output of each command from one another. If I were writing a Windows app, then I might dedicate a panel of the UI for each command. Could I do the same in a…

Read More

ListView with Switches in NativeScript Android

By | NativeScript | No Comments

Out of the box in NativeScript Android a list view’s item tap event will not fire if the list’s item template contains a Switch control, or any other actionable control for that matter.  The reason for this is that the other actionable controls in the item template take control of the click event.  In order to get around this you have to hook in to the actionable controls loaded event and set its “focusable” property to false.

To be fair the same issue occurs in native Android development, but the fix is much more straightforward.  You simply set…

Read More

Network Connectivity Monitor for NativeScript

By | NativeScript | No Comments

In a recent NativeScript project I was working on I needed a way to monitor network connectivity throughout the entire application and allow individual components (pages/view models/etc.) to kick off events when the network went offline or came back online.  The connectivity module in NativeScript allows you to monitor the network connectivity and executes a callback whenever the connectivity changes.  This was a good starting point so I tried a small proof of concept where each view model attempted to monitor the connection individually using connectivity.startMonitoring(…) but this didn’t work.  The connectivity module appears to be a singleton and only allows for one…

Read More

Lock Down Content Widgets with UrlKeyPrefix

By | MVC, Sitefinity | No Comments

When you’re working with your content in Sitefinity, a very common practice to display said content is to provide a list and details view. On the page (or pages) containing these views, it is often good to provide a sidebar to provide for additional navigation functionality when users are browsing your content. News articles, for example, can support Tags to help classify stories into various buckets. It’s also nice for users to see a concise list of stories on the sidebar in addition to the more fleshed-out list that the page primarily shows. To accomplish this in Sitefinity appears trivial…

Read More
clipproject

Quick serial clip connector for your multiple IoT PCBs

By | Blogs, ESP8266, IoT, News | No Comments

You don’t need a fancy USB serial connector for your multiple IoT PCBs. It’s easy to create your own quick and inexpensive connector. This is an example of a simple quick-connect serial clip that can connect a PCB- mounted ESP8266 to a computer via USB. If you don’t want the expense or bother of soldering on a fancy USB connector to your many IoT PCBs for flashing and/or programing your ESP (or other) device, you have options. I worked out an easy, cheap, and reliable method of making a quick short-term connection. You need a few things. Some parts you…

Read More
NativeScript TimePicker Spinner

Controlling the NativeScript TimePicker Rendering Style on Android

By | NativeScript, Telerik | No Comments

On a recent NativeScript project,  it was decided to upgrade our Telerik UI for NativeScript Pro controls. After this upgrade our TimePicker controls changed rendering styles from this (desired style): To this: They are both very attractive TimePickers, but for our purposes we needed to have it render the same as it was originally intended, before the upgrade. Controlling the TimePicker Rendering Mode With styles.xml After some research, it was determined that there are only these two modes that TimePickers will render on Android, namely spinner and clock. In order to force our component to render the way it was intended, we needed to add styles to our…

Read More