I just finished listening to The Pragmatic Programmer: 20th Anniversary Edition, 2nd Edition. This book is packed with great information. The two chapters that really stood out to me were on "Refactoring" and "Test To Code". Refactoring: One of the critical tips they shared was that you shouldn't add features and refactor existing code simultaneously. I am guilty of this, and it always ends up…
Keep Reading →
Check out my latest post on the Twilio blog for a detailed walkthrough. https://www.twilio.com/blog/serverless-email-sms-gateway-lambda
Keep Reading →
Meraki products provide incredibly simple setup, excellent network visibility, and cloud management. The CUBE (Cisco Unified Border Element) is the SBC market leader. Sounds like a match made in heaven! Unfortunately, utilizing a CUBE with a Meraki MX isn’t entirely straightforward. What’s the big deal? Three letters, NAT NAT has been known to cause havoc with SIP. Unlike many web-based protocols…
Keep Reading →
Over the last month I have been learning React. My brain is finally starting to grasp the concepts. To put my new knowledge to work, I re-wrote the playlist filter I had been tinkering with earlier this year. You can check it out here: Playlist Filter. Leveraging the Spotify APIs, I created a web application that scans a user’s playlists. User’s can select the playlist to clean. This will make a…
Keep Reading →
What started out as an idea for a hackathon, has become a very useful tool inside Cisco. Not only is it a great demo, but it saves a ton of time. Anyone that has to schedule conference rooms in a corporate environment will understand the pain of trying to find an available room that is the right size and in my case, has video conferencing capabilities. roomRequest is a Cisco Spark bot that…
Keep Reading →
I spend a lot of time demonstrating Cisco Contact Center products to customers. Our Contact Center Express product has native support for voice, chat, and email queuing. Customers often ask about routing other media types to such as SMS, Facebook Messenger, and other popular messaging platforms. I decided to see if I could build a connector that routes Facebook Messenger messages into UCCX as web…
Keep Reading →
1/27/19: Update: Elastic SIP trunks now support CNAM. This method outlined below is still useful for passing caller name with programmable voice. A couple months ago I switched my Dad’s business over to Twilio Elastic SIP trunks. I have been very happy with the service. Not only was it really easy to deploy, but the service has been rock solid. The only downside that I discovered during my initial…
Keep Reading →
It has been about 2 years since I have been running the “on-air” light at my house. This is a life saver when working from home. It might have helped this guy on the BBC interview out: I originally wrote this in python. Since I have be doing all my work in node.js I thought it was time to convert and document the code for others to use. Here is a link to the github repo: https://github.com/bdm198…
Keep Reading →
As many of you know, I have been doing a ton of development. Some for my work at Cisco and some for fun. I like using PM2 to manage my node processes, logging, restarts, etc. As my integrations and bots have started getting more use I became fascinated/addicted with watching the logs for errors. Here is a snapshot of the logs that were stealing my attention This was all great until last week, I…
Keep Reading →
2016 was a banner year in my coding journey! I focused most of my time around JavaScript, Node.js, and MongoDB. I learned a ton creating gadgets for Cisco Finesse, bots and integrations for Cisco Spark, and skills for Amazon Alexa. The more I learn the more I realize I don’t know! This past month I spent some time going back to the basics and reading up on JavaScript. The good thing is I learned…
Keep Reading →
Amazon’s Echo is a very cool smart home device. It has a ton of features out of the box, but what makes it so powerful is the ability to write your own features/functions called “skills”. The first skill I wrote enables me to control my home theater. I did a lot of coding specific to my home setup and haven’t published this skill just yet. Last month I started working on a skill to connect Alexa…
Keep Reading →
Cisco Spark is an extremely powerful collaboration platform. Spark provides three core services, Messaging, Meeting, and Call. In addition to this, it has a full set of developer APIs that enable anyone to build Spark into their own business work flows or simply enhance the Spark capabilities based on their unique use cases. Last year our team held a hackathon to promote these API capabilities…
Keep Reading →
Thanks to this book on jQuery Deferreds, I finally got my head wrapped around this topic over the weekend. I am not sure why it was such a struggle! Definitely worth the read.
Keep Reading →
As many of you know, I have been spending a lot of time coding lately. Most of my time has been spent on projects relating to Cisco Finesse and Cisco Spark. In addition to these projects I am working on a pretty cool application for my dad’s automotive shop. More to come on that soon. I have started to notice an odd pattern. I used to be of the mindset that I needed to have large chunks of time…
Keep Reading →
Last week Parse (a Facebook company) announced they would be shutting down service January 2017. This was pretty lousy news since I have come to really like the service. It was packed with all kinds of cool features. Parse also provided the backend for the Finesse SMS Gadget I made and was recently posted on Cisco’s developer site. Since the service wasn’t shutting down until 2017 I didn’t feel a…
Keep Reading →
I finally built some gadgets for Cisco Finesse! This gadget enables call center agents to send customers SMS messages from the Finesse interface. Think of all the times you call into a call center and need to write something down, tracking numbers, appointment date/time, confirmation number, ticket number, etc. With this gadget the agent can simply send this info via SMS while you are on the phone…
Keep Reading →
After running my xbox one in the bench/storage at the front of our home theater for a couple months, it became clear I had a heat issue. After playing games for an extended period of time the controllers would lose connection. Propping the lid open seemed to resolve the problem. However, that isn’t a techie enough solution for me. Today I installed this temperature controlled fan from AC Infinity…
Keep Reading →
My app project is coming along slowly. I am learning as I go and I am sure a real programmer would cringe if they saw my code! Not quite ready to reveal the application. I will say it is for parents that are looking to ease their young kids into using todays online communication tools in a responsible way. Once I am ready I will need some tech savvy parents with preteens or teens that want to be…
Keep Reading →
Time goes by way to fast! This weekend I rebuilt my Keurig auto filler. I looked back at my old posts and the original post was just over a year ago! Version 1.0 has worked flawlessly but was way too big and bulky. I also never outlined how to build your own. So here it goes… Shopping List: Dual Float DPDT relay 4x2x1 Project Box Prototyping board – I bought this pack and used the 3cm x 7cm board…
Keep Reading →
Basement before theater After Theater Profile: Receiver – Denon 4310CI Fronts: Polk RTi A7 Center: Polk CSi A6 Rear: Boston Acoustics Sub: Polk DSW Pro 550 wi Control: iRule – iPad & iPhone remote control Global Cache – GC-100-12 Ethernet to IR control VeraLite – Z-Wave lighting Control Media Players: Apple TV Roku3 Sony Bluray player Moxi Plex Seating: Seatcraft The finished product: iRule…
Keep Reading →
We have taken the plunge into the world of home theaters! I built a bench / storage / center channel cubby today. This will be the new home for a Polk Audio CSiA6 that should arrive on Tuesday. I need some input from all my audiophile friends out there on new front speakers and eventually side and rear surround speakers. My weekend project! Here is what I am working with: Receiver: Denon AVR…
Keep Reading →
Apple has a nice iTunes RSS feed generator. I want to use its output to make a simple web page with all the latest album releases etc. I have the following test setup: http://54.88.218.38/test.php. I am running into issues when I try and access the objects/elements (not sure what they are called) that have a “:” in the name. Here is the raw output: https://itunes.apple.com/WebObjects/MZStore.woa…
Keep Reading →
I noticed that some of the lights went out on the Escalade’s radio. I can’t believe they used light bulbs instead of LEDs… After searching youtube and ebay I was inspired to perform some surgery! Thankfully it was a success and the patient is back to 100% The 3 and 6 were burnt out. Here is the radio and pack of new light bulbs. The cover has to be removed in order to disconnect two cables that…
Keep Reading →
As usual I have been slacking at updating my blog. I am still tinkering with my electronics projects but have been busy with other stuff lately. Sylver and I have been talking about putting in a ceiling fan and some can lighting in our family room. I finally decided to tackle the project last a couple weeks ago. Here are some photos of the project. The blue tape is where we planned on the lights…
Keep Reading →
The auto-fill project is complete! Below is a photo of the final product. Version 2 is going to be a lot more compact. The project box, switches, and fuse holder I used can be reduce to 1/4 of the size. This is a very simple setup composed primarily of a DPDT relay, dual-level float, and solenoid. I will post all the details soon. Click here to see a video
Keep Reading →
Unfortunately, my holiday vacation is coming to an end… I was able to get some of my projects done, but have plenty left for the new year! My first goal is to complete the @Make Electronics book. I just finished experiment 23. Once I have all the electronic fundamentals down, I am going to dig deeper into Adruino and Raspberry Pi. Here are some photos the alarm project.
Keep Reading →
The iPhone is out of surgery and doing well. Thanks to these guides. I replaced the lock button and the side buttons. Now Amazon will accept it on trade :).
Keep Reading →
Parts Keurig auto-fill prototype Waiting on a couple more things to be delivered before I package this up and put it to work!
Keep Reading →