Week by Week – W43Y2016

What an eventful week. We hosted another party, this time our BandY Chili Cook Off party. I was so pleased with the number of entrants, varieties and energy of the contest. The weather could not have been better or the interests. Looking forward to next year where we have big surprise plans for it.

Thursday Tech Tip – Firebase & Image Handling

For the past couple of I have played around with building an iOS app with Firebase as the back-end for it. I wrote a previous post about the joy that is Firebase, which you can check out. One of the features I am trying to incorporate is taking a picture of an item and uploading it with the post. Well, unfortunately, Firebase does not natively support image uploading. In order to store images with Firebase, you need to first turn them into their Base64 equivalent and store that string value as the value for the “image” key in your Firebase JSON structure.

Thursday Tech Tip – WCF Web Services & iOS

One of the best iOS development tutorials I have ever come across. Even better, he provides expert advice on building a web service and working with it in both Xcode and JavaScript/ASP.net. I took a shortcut and used Firebase for my backend web service but it all works the same.

Thursday Tech Tip – RequireJS

Yesterday, one of my colleagues gave a tech talk on RequireJS, which is an upcoming JavaScript library/resource for helping you manage, well, all of your other JavaScript libraries. Much of today’s web development is dependent on the tight and well timed integration of multiple JavaScript libraries, plug-ins, etc. One of the key issues with this approach is that the use of multiple libraries creates interdependencies that are often contingent on the well timed loading of various resources and/or objects into the DOM. If a resource in the DOM is not loaded at just the right time or the value of that resource is not set or changes, than the resources you are hoping to leverage from say, handlebars.js, won’t load correctly and your web application could fail.

Thursday Tech Tip – UI Scripting on Mac OS X

I used to leverage Automator a lot more between 2003 and 2005 but for some reason got away from it. After I recently purchased a new MacBook Pro and set it up as a new machine, I rediscovered the joys of automation with Automator and AppleScript. Also, I mentioned the benefits of taking the ‘Setup as a New Device’ approach in a previous post. Well, while setting up the new device I noticed I was doing a lot of time consuming set up tasks that I wish I could automate. Well, I then rediscovered Automator and AppleScript. Now, I am leveraging them more and more in my work for testing and prototyping web services along with personal tasks like file and system management.

Thursday Tech Tip – Parsing JSON with handlebars.js

In the interest of sharing examples of from lessons learned, I have created a demo and write up on how to use the handlebars.js library for processing JSON data returned by an API call and then dynamically display that content on a web page. I deal with JSON data more and more in my work projects and happen to prefer it to XML data, partly because of XML data can be rather large and clunky to deal with. Leveraging handlebars.js allows me to quickly traverse JSON arrays and grab the necessary key : value pairs I need for rendering content. I hope others find this useful. The linked example demonstrates how to use the Gilt API to get current sale items by category, and then use handlebars.js to translate the resulting json data into nice neat little card style objects. Any API that returns JSON data could be substituted in.

Thursday Tech Tip – Sending HTTP Posts in iOS

I came across a challenge the other day at work while trying to incorporate a click event into an iOS app. Essentially, when a user clicks on an object within the app that involves a segue sequence, for example an article in an RSS reader app, we want to record that click by logging it in an app on a remote server. I tried to use some of my company’s existing JavaScript functions that make API calls to our remote observation server.