Syringe

Escaping From Relative Paths in Node.js With DI

By | JavaScript, node.js | No Comments

I’ve written before about one way to escape from relative-path “hell” in Node.js by leveraging the built-in behavior of the require function to look in the node_modules folder starting in the current folder and working upwards until it can’t go any further. This approach has some great benefits and I do like it a lot, except for one major problem: My preferred code editor–Visual Studio Code–automatically omits the contents of node_modules folders from search results by default. I have managed to configure my preferences in the past to exclude only the root node_modules folder while including lower ones, but the…

Read More
00-locked

Locks in Sitefinity: Keeping Content Free

By | Sitefinity | No Comments

Exclusive locks are nothing new. It is a basic concept that tons of multi-user programs, tools, and systems use so that users don’t step on each other’s toes when they’re trying to work on something. It would be awful if you spend 30 minutes editing an article only to find that someone else stepped in and blew away your edits because they saw a typo and jumped in to quickly fix it. Sitefinity is no different in this regard: Pages, built-in content, and custom content all have built-in locking functionality. If you’ve worked with other content editors on a Sitefinity…

Read More
inc 5000 falafel logo

Inc. Magazine Unveils 35th Annual List of America’s Fastest-Growing Private Companies—the Inc. 5000 and We’re On It.

By | News | No Comments

Since 2003, Falafel has had one mission; to deliver great software development & consulting services and to educate the development communities on new technologies. Throughout this journey, we have worked with the biggest companies in the world and spoken at many conferences. Today, we have the pleasure of announcing that we have been listed in Inc. magazine’a 35th annual Inc. 5000 list, an exclusive ranking of the nation’s fastest-growing private companies. Falafel joins companies such as Intuit, Under Armor, Microsoft, Square, GoPro, Dollar Shave Club, Clif Bar, and many other well-known names. “We are thrilled to be selected as part of…

Read More
WP_20160813_004

Solved: Windows 10 Anniversary Update Install Hang

By | Windows | No Comments

Over the weekend, Windows Update alerted me that the Windows 10 Anniversary Update was available to be installed onto my Thinkpad W530 laptop. Since I was anxious to try out the new Bash shell integration, I clicked the button to start the update. Downloading the files took about 30 minutes. Then, I had to schedule a reboot (read: I chose to restart right away). The installation began, and after a few automatic reboots, I found myself staring at a screen showing the installation at 32% complete. But, the progress spinner wasn’t spinning and there was no hard drive activity. Was the installation stuck,…

Read More

Node.js + Express.js Video Walkthrough Part 2

By | JavaScript, node.js | One Comment

This is post 2 of 2 in the series “Node.js + Express.js Video Walkthrough” After my recent series on Node.js culminating in an introduction to Express.js, I wanted to give a tour of what an Express.js project looks like, but I also thought that doing so in written form would result in a lot of copy-pasted code that would obscure the bigger picture of the project strucure. So instead, I thought that maybe a video would be a good way to show things in action! This is the second half of a two-part walkthrough of the structure of a Node.js…

Read More

Node.js + Express.js Video Walkthrough Part 1

By | JavaScript, node.js | No Comments

This is post 1 of 2 in the series “Node.js + Express.js Video Walkthrough” After my recent series on Node.js culminating in an introduction to Express.js, I wanted to give a tour of what an Express.js project looks like, but I also thought that doing so in written form would result in a lot of copy-pasted code that would obscure the bigger picture of the project strucure. So instead, I thought that maybe a video would be a good way to show things in action! This is the first half of a two-part walkthrough of the structure of a Node.js…

Read More
2016-07-31 17_41_04-Kendo UI Grid with Custom Checkbox - JSFiddle

Kendo UI Grid with Two Kinds of Checkboxes

By | Kendo UI | No Comments

In my last blog, I showed some examples of dates in a Kendo UI Grid. This time, let’s look at checkboxes. True/False data in the Kendo UI Grid is always interesting to work with. A checkbox makes sense for boolean values, but they come with some expectation from the user’s point of view. They see a checkbox, and they want to be able to click it! Entering an Edit mode and then clicking the checkbox just doesn’t cut it.

Read More
Filtering data with the Search Bar

Xamarin Quick Tip – Adding a Search Bar to a UITableView in iOS

By | .NET, C#, iOS, Mobile, Multi-Device, Visual Studio, Xamarin | No Comments

A common bit of functionality required in a mobile application is including some type of search functionality in an application. Typically this takes the form of a search bar along with tabular results. In this article, I will walk you  through adding simple search functionality to a UITableView in iOS. Setting up the project Create a new blank iOS universal application with a storyboard. In the storyboard create a new UITableViewController and assign it the class name of FruitTableViewController. Name the table tblFruit. Finally, change the type of table cell to Basic, and assign it the reuse identifier of FruitCellId. If you have trouble setting…

Read More
Swipe Left on Pineapple

Xamarin Quick Tip – Swipe Left To Delete

By | .NET, C#, iOS, Mobile, Multi-Device, Visual Studio, Xamarin | No Comments

In some projects, it may be requested to be able to swipe left to delete an item in a table. In order to implement this, there is a handy component called SwTableViewCell that provides this valuable functionality.  What is missing however, is decent documentation to get it up and running with Xamarin. In this article, I will walk you through adding this component to an already existing table view. Setting up the project The first thing we need to do is to build an application that has a table populated with some items. Create a new C#, Universal iOS application,…

Read More
Selecting a Tab in Visual Studio Moves it to the First Position

Selecting a Tab in Visual Studio Moves it to First Position

By | Visual Studio | One Comment

Recently I noticed that selecting a tab in Visual Studio moves it to first position in the tab well.  This was pretty shocking to me because I was fairly certain that things where not always this way.  I verified there where not any updates to Visual Studio lately that may be the issue.  Then I looked at the Visual Studio Productivity Power Tools because I knew that this extension added capability to the tab well. Sure enough that extension was updated very recently.  So I did some digging into the options for this extension and found this: Apparently someone decided that…

Read More
00-master

Using HandleUnknownAction in MVC Widgets

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

Sitefinity’s MVC widgets are fantastic. They allow untold amounts of customization and enable you to create an MVC framework as complex or as simple as you need. There is a caveat to using them, however: Because the controllers are typical ASP.NET MVC controllers, going to particular pages on your site might make them disappear! There is a simple workaround for this problem, and with this information you can ensure that your Sitefinity MVC widgets consistently display no matter what current state your web site is in. The Problem Say you have a simple custom MVC widget that has a single…

Read More
Component in Solution Explorer showing "Error"

Xamarin Visual Studio: Error adding to project: Cannot get libraries from incompatible component

By | Visual Studio, Xamarin | No Comments

I recently came across a scenario with Xamarin Visual Studio where one developer would add a new Xamarin Component in to the solution and check in the bits and then a different developer would pull down the latest bits and receive a compilation error specific to the class or classes of the newly added component not being found. In the solution explorer the component showed as “[ComponentName] (Error)”. Double-clicking on the component brought up the details and at the top was a little red error message that stated “Error adding to project: Cannot get libraries from incompatible component”. Turns out the trick for resolving…

Read More
Express+Handlebars

Getting Started with Node.js in Windows – Web Apps With Express

By | JavaScript, node.js | No Comments

This is post 3 of 3 in the series “Getting Started with Node JS” Recap In my first post, I went over the basics of Node.js package management with the NPM CLI. In the second, I went a little deeper and delved into the the basic architectural foundations of a Node.js application. Today, we will take all of these things and apply them to create the skeleton of a web application capable of reading data from request URLs and bodies and responding with HTML templates or JSON formatted data. Choices! If there’s one thing that really differentiates the ecosystem of Microsoft .NET…

Read More
kendo css heart

Kendo UI Customization with CSS

By | CSS, HTML5, Kendo UI | One Comment

I’ve been using Kendo UI for many years now and I continue to be impressed with the many ways it can be extended and customized. Recently, I had a client request a Kendo Grid customization that at first glance seemed like it might require some code changes, but in the end, it could all be done purely with CSS. Here is the scenario as a CSS customization example: by default, the Kendo Grid shows the sort icon immediately after the header text and when using the column menu with a filter applied, it highlights the border around the column menu…

Read More

Getting Started with Node.js in Windows – Node Modules

By | JavaScript, node.js | No Comments

This is post 2 of 3 in the series “Getting Started with Node JS” Introduction In the previous post, I gave a quick idea of what Node.js is and then fell down the rabbit hole of the topic of NPM. With all that said and done, you should have a basic working knowledge of how to manage NPM packages, both locally and globally. So now let’s turn to the topic of Node.js programming itself. In the previous post about NPM, I mentioned that NPM uses a file named package.json to keep track of dependencies so others can reinstall packages that your…

Read More
Classical inheritance

Getting Started with Node.js in Windows – NPM

By | JavaScript, node.js | No Comments

This is post 1 of 3 in the series “Getting Started with Node JS” Introduction I’ve already written a few posts about my own journey to find a good Node.js development environment on Windows: journeying from the familiar environment of Visual Studio, to the opposite end of the spectrum with Sublime Text, and then finally somewhere in the middle with Visual Studio Code, where I have dwelt happily ever since. But in the telling of that journey, I’ve glossed over the meat of getting to know Node.js itself, and so that’s what I’m going to do in this post: share…

Read More
Sitefinity-Roles

Accessing Sitefinity Roles in Code

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

When developing custom solutions in your Sitefinity application, you may need the ability to work with Sitefinity roles. As a developer, you would reach out to the RoleManager that Sitefinity provides, and access the roles from there. However, you may run into an issue where some roles, verified to be a part of your site, are not represented when working with the RoleManager. This post goes into this issue, and shows how to access all Sitefinity roles to work with. Basic Role Access Let’s say you want to list all available Sitefinity roles on your web site. The natural idea…

Read More
FalafelBytesLogo

Falafel Bytes Show is Released

By | Falafel Bytes, News | No Comments

Starting July 1st 2016, Falafel Software has released a new video show called “Falafel Bytes” that will interview technologists and celebrities from all over the world to chat about subjects that are important to you and your technology teams. Topics: We will be talking about Windows, Mac, Linux, Hololens, Testing, Mobile, Xamarin, NativeScript, iOS, Android, VR, IoT,  ASP.NET, Angular2, Azure, AWS, Power BI, Wearables, CMS, and many more topics… YouTube: Subscribe to our channel on YouTube and we look forward to producing these interviews.  Don’t miss the bloopers at the end of each interview 🙂 First Show: The first show…

Read More
sitefinity-status-page-200

Sitefinity Status Page HTTP Response Codes

By | Sitefinity | No Comments

When working with the new Web Services module or WCF services in Sitefinity, you want to be able to allow the requesting clients to properly respond to and handle a failed request. This is generally simple enough, as a failed request would usually be accompanied by an HTTP status code that indicates something went wrong. The status can be reviewed by the client and handled appropriately based on the status code (such as 404 for not found or 500 for a server error). To demonstrate this let’s look at this sample code, which uses the Web Services module API to…

Read More
HooToo

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