Monthly Archives

August 2016

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

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

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

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

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

Solved: Windows 10 Anniversary Update Install Hang

By | Windows | One Comment

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