Software PWM at 0.35 Duty Cycle

Windows IoT Core: Software PWM

By | C#, Hardware, IoT, Microsoft, Raspberry Pi, Visual Studio, Windows, Windows Universal Apps | No Comments

One of the gaping holes in my opinion is the availability of PWM when working with Windows IoT Core on the Raspberry Pi. There are two approaches to solving this problem, one is with additional hardware to provide PWM functionality, the other is to achieve PWM with software. This article will focus on Software PWM. A Convenient Software PWM Library In poking around the web, I stumbled across this convenient library for Windows IoT Core. One of the implemented functions in this library is support for Software PWM. This library is also available as a package through NuGet. To demonstrate…

Read More
HoloLens image

Using HoloLens Toolkit to Deploy Your App

By | HoloLens, Unity | No Comments

This is post 3 of 3 in the series “Rummaging Through the HoloLens Toolkit” Using HoloLens Toolkit to Deploy Your App The Build Window for HoloLens Toolkit brings together scattered tools and processes. Now you can build, create an “APPX” package and deploy directly to a HoloLens device. This approach makes it easier to see all the steps in the process, all in one place. The SLN builds a new Visual Studio solution. The APPX group creates a package with the *.appx file, dependencies and manifest. The Deploy options let you target a device and install the package. The install through USB cable…

Read More

Best Windows Git Client Redux

By | git | 7 Comments

It’s been over a year since I last wrote about Git tooling in the Windows ecosystem including my opinion on the best Git client for Windows. Here are some new clients I’ve tried since the last post and what I think of them. GitHub Last time I wrote about the GitHub client for Windows, I said I didn’t like it and that I found it bare of virtually any functionality at all. Since then, I read a post claiming that they (the creators of the program) wanted to make it the greatest client for Windows, so I thought I’d give…

Read More

Kendo UI Combobox Customized: Previous Value Restore

By | JavaScript, Kendo UI | No Comments

Today I want to share a little Kendo UI Combobox customization, one that I hope you’ll find useful: restoring the previous value on an invalid entry. Often we see validation, especially numeric validation on a range for example, use coercion to simply force the value to either the highest or lowest number. This certainly prevents invalid entry, but the user experience isn’t all that great in every scenario. What may be preferred, for an allowed range of 0-10, and if the user intends to change a 3 to a 4 and instead accidentally enters 44, would be to just restore the value of 3 (not coerce to 10).

Read More
HoloLens image

Using HoloLens Toolkit to Configure Your App

By | HoloLens, Unity, Visual Studio | No Comments

This is post 2 of 3 in the series “Rummaging Through the HoloLens Toolkit” Using HoloLens Toolkit to Configure Your App HoloLens Toolkit makes short work of configuring a Unity application for deployment. No need to pick your way down the checklist. This video walks you through the toolkit menu options. To make your project HoloLens-ready, run the Apply HoloLens… Scene Settings positions the camera, makes the background transparent, and sets field-of-view properties to match the HoloLens environment. Project Settings creates a Visual Studio solution and changes the project build options to target a Universal Windows app that HoloLens can run….

Read More
HoloLens image

Get Started with HoloLens Toolkit in Unity

By | HoloLens, Unity | No Comments

This is post 1 of 3 in the series “Rummaging Through the HoloLens Toolkit” Get Started with HoLolens Toolkit in Unity There’s a lot to explore in the HoloLens Toolkit for Unity. In this video, we first download the toolkit and load it into Unity. Then we export the toolkit as a package, and finally, import the toolkit package to another project. Along the way, the video demonstrates how to resolve this error: “unsafe code requires the ‘unsafe’ command line option” If you don’t have Unity, download it here. The Unity download is a custom build that targets HoloLens. Get the latest HoloLens toolkit…

Read More
ZombieSmack-by-falafel

Falafel Releases ZombieSmack, a Free Game for Microsoft Hololens

By | HoloLens, Microsoft, News, Windows | 3 Comments

At Falafel, we’re always in the mindset that we need to innovate and test the boundaries and possibilities of new technology. So, when Microsoft announced the release of the HoloLens, we  just had to get our hands on it and start developing for it. And so we did… Announcing the release of ZombieSmack, the first HoloLens game from Falafel with many more to come. If you own a HoloLens, you can download and play ZombieSmack for FREE. For those of you who do not have a HoloLens, ZombieSmack is our take on the old school arcade game whack-a-mole game and since Halloween…

Read More
Experimental Decorator Warning

Suppressing Experimental Support for Decorators warning in VS Code

By | Angular 2, JavaScript, Mobile, NativeScript, TypeScript | No Comments

When working with TypeScript and Angular 2 in VS Code, you may encounter an Experimental Support for Decorators warning on some of the decorators you wish to use in your code. While it doesn’t affect the compilation or functionality of the application, it is a tad annoying to look at. In this example, I’m working with a NativeScript application.  Here are a couple steps to take in order to suppress this warning. Set the Experimental Decorators Property The first step in suppressing this warning, is to set the “experimentalDecorators” property to “true” in the TypeScript configuration file in the root of the project…

Read More
What Branch Am I On?

What Branch Am I On?

By | .NET, git | No Comments

When working on a project that is leveraging source/version control with branching it is always a good practice to know which branch you are currently on.  There is nothing worse than getting in the coding groove and an hour in thinking “What branch am I on?”, only to find out you are coding directly against master/release.  Of course your version control system of choice has a mechanism for letting you know what branch is active.  How this is accomplished will vary by system and, more likely than not, will require you to leave your beloved IDE.  There must be a…

Read More

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

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
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

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

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

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

Getting Started With Electron and TypeScript

By | Desktop, Electron, JavaScript, TypeScript, Web | 2 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

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
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

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