Docker Containers

I recently posted an article on web developer trends for 2016 at One of the technologies I believe will grow in importance in 2016 is Docker containers. For aspiring web developers (particularly those in our CMWEB program), I thought it might be helpful to further explain the concept. I will start with an overview of the basics of working with this technology. If there is sufficient interest, I will continue to delve further in subsequent posts here.

So, what are Docker containers and why are they important? Readers may be familiar with virtual machines (where one operating system can run virtually within another). Docker containers extend that concept further. Essentially, everything you need to run your application is contained. This includes the operating system kernel, your code, your data (and data stores). Everything. The main difference from a virtual machine is that the latter contains the entire operating system (even if it is GB in size). Each virtual machine may be very large and take time to load. Containers share the operating system kernel with other containers, but run as isolated processes. Essentially, they will run “on any computer, on any infrastructure and in any cloud.” Quote from: To me, the biggest advantage is that you don’t need to worry as much about infrastructure and can focus on application development. Also, they load very quickly (where virtual machines can take a very long time to load). Let’s learn a bit more about this technology. Read more »

Super Bowl 50 commercials

Yes, I watched Super Bowl 50 last night. No, I didn’t pay that much attention to the football. I think one of the teams won. I confess I really like the commercials. Rather than just watch the commercials, I thought I would do a bit of analysis. As we all know, marketing is about building awareness. Many businesses are getting very good at this. For example, many now release their commercials before the big game to start building buzz. I am sure you have already seen the dachshunds leaping towards the ketchup and the Amazon Echo ad several times already (and many others).

I decided to keep track of all the commercials which aired during the Super Bowl and track certain characteristics. For what it is worth, I only tracked those commercials which aired between kickoff and end of game. I may well do some additional analysis. In the interim, here are some interesting observations. Read more »

A cautionary tale

I recently experienced a situation which has several “lessons learned” and I thought I would share. Since many readers of these articles are students and former students, you may benefit from this experience. The saga began in late December, 2015. My wife got a phone call alleging to be from an ICANN registrar. She did what I always ask when presented with random unsolicited phone calls – she hung up the phone. I recommend this as a first line of defense since it is rare that someone from such an organization would call. A few days later, another call came in. I answered and they piqued my curiosity so I stayed on the line. Read more »

CSS Grid

I recently read the book “Get Ready for CSS Grid Layout” by Rachel Andrew. The more I understand about CSS grid layout, the more I like it and hope it is soon implemented in browsers. Presently it works well in Canary and mostly in Firefox nightly builds. I will include screen captures in my discussion in the event you do not want to download Canary to see them first hand. To me, the quote by Eric Meyer in the forward to the above book sums up this improvement.

“Grid Layout is to Flexbox as PNG is to BMP, and then some.”

Let’s examine some bits of code to better understand the capabilities. Read more »

Text editors

This week we start the spring, 2016 semester at school. Sometimes, it is best to step back and look at those simple, little things we can do to improve. Using a text editor is one such example. For students just getting started, you will come to learn that it is never a good idea to use tools like MS-Word to create a web page or to edit an existing one – they insert a lot of bloat and can cause many problems. You need to use a text editor which handles text (and does not add bloat to what you create). There are many to choose from.

Every semester, I observe many students using Notepad. Yes, that venerable text editor that should have been retired somewhere around the time of Windows 98 SE – remember that one? Yet, I continue to see this being used. Please stop using that one (for anything). It is clunky and very antiquated. Sure, it is included with Windows 10. But, seriously – use another. Here are some of alternatives. Yes, they take a quick install. But all are free (and all can easily be used in place of Notepad). And. They. Offer. So. Much. More. Read more »

Philips HUE API

My first weblog post in 2016 focused on the basics of using the Philips Hue lighting system. As I mentioned, one of the features of this environment is the ability to interact with the RESTful API via a web interface. You need to determine the IP address of the bridge (there are many ways to do this). Once you have that information, you can then access the debug options. This is where the fun begins (at least for me). Note that all information is being sent via JSON (JavaScript Object Notation). If you understand JavaScript, you can program the lights. Let’s get started…

Read more »

Philips HUE and Internet of Things

One of the presents I received over the holidays was a Philips Hue starter kit. [Thanks again, Ben and Lindsay.] I had been thinking about getting one of these myself. As you may suspect, I am always keen to learn new technologies and approaches. For those who may not be aware, the Philips Hue lighting system allows you to connect your home lights to the Internet. You can then control them from anywhere. Yes, security is one of those features I plan to investigate. Essentially, you get a bridge (which you connect to your router) and 3 light bulbs (these are expensive as each contains a wifi connection). Read more »

Adobe Post

Adobe released a new app for the iPhone [Post] on December 17, 2015. AdobePostIcon

At the moment, this seems to be iPhone specific (I tried it on my iPad and was not pleased with the results – for example, it was very difficult to edit the supplied example text). On the surface, this seems to be quite a simple app. In many aspects, it seems very similar to the iOS app Over. Essentially, you select a photo and can overlay it with text and apply some filters. Yep, lots of other apps do the same thing. So, why a separate weblog post [pun intended] on this app? While it appears simple on the surface, there appears to have been a lot of work behind the scenes to make this a very useful app (particularly for those of us who are graphically challenged – like me). I find the supplied examples already have identified the font, color and so forth that a more professional individual would select. This allows me to quickly focus on the message, and not worry about the overall look and feel. Someone has already done that for me. Let’s investigate this app a bit more – Read more »


I have been working with an interaction design tool called Floid. Presently, it is only available for the Mac platform. This tool is easy to use to develop working prototypes of various apps and web pages. The generated code is HTML5 (and validates). I developed a very simple example to discuss the basics of using this tool. A number of tutorials are provided on the Floid website. I hope a Windows version will be available soon.

Read more »

MS Azure and Dreamspark

If you are a student in our CMWEB program, you have access to the MS Dreamspark website for MS software you can use for academic purposes. Each semester (a few weeks after the semester begins), you receive an email notification with details on how you can access this resource. One of these resources is MS Azure.

MS Azure is a cloud based computing environment. Essentially this means you use Internet based protocols to communicate with servers to perform various tasks. You may end up doing a lot of work in your browser as opposed to a more traditional desktop application.

The first thing you need to do is to create a student Azure account. Visit the Azure page at Dreamspark to get started. You will need to confirm your academic status (using the .edu email address you have been provided through ICC). Read more »

Styling SVG

We have had several discussions about styling SVG (Scalable Vector Graphics) at our recent WebProfessionals meetings. I also recently completed a short course at on this same topic. I thought it would be appropriate to develop a weblog post on this topic (especially since we will be covering SVG in more detail in the CMWEB 250 class in the spring, 2016 semester and PHP in more detail in our CMWEB 241 class. I particularly like the approach taken in the course utilizing PHP along with SVG. Essentially, the SVG graphic is modified into a bit of PHP code so you can pass color attributes via a query string (and use one image multiple times with different styles). Read more »

Phishing = Fraud

Some of you may know that I serve as a reviewer for the SANS OUCH newsletter. The next issue will deal with the subject of phishing. I thought it might be appropriate to also add a little information in my weblog about this topic. Perhaps you will enjoy reading this as you digest your Thanksgiving left overs…

First, I have an issue with cute words like phishing. Such euphemisms tend to hide the fact that this is another word for fraud (pure and simple – fraud or attempted fraud). For those who use email (and who doesn’t these days), who monitor websites, or use social media, you will encounter this drivel. As the holidays approach, I suspect the amount of attempted junk will only increase. So, why do people send out this junk? Read more »

UX Rebels Summit overview

I had the opportunity to participate in the UX Rebel’s Summit this week [Nov. 17, 2015] (hosted by Christopher Schmitt). I found this to be a great online event and wanted to share some insights and thoughts from the event. Keep in mind, I have 189 pages of screen captures and notes associated with this event. These are some of the highlights. One of the features I liked was that learning objectives were provided for each session. The speakers were engaging and very knowledgeable. There were 7 session in all. The links below direct you to each presenter’s Twitter profile.

  1. Designing your UX portfolio by Ian Fenn
  2. Tools and gadgets for research by Annette Priest
  3. Designing for happiness by Pamela Pavliscak
  4. Designing your design team by Alberta Soranzo
  5. Accessibility is usability by Patrick Fox
  6. 9 ways to guide people with design by Jennifer Tang
  7. UX is UI by Mike Atherton

I will cover each of these sessions in more depth. Read more »

Mobile App Development with BlueMix – part 5

Last week, I focused on using the IBM BlueMix facility to create a simple Hello World app which pings the IBM BlueMix server instance you created. Those looking for my previous posts on BlueMix can find them linked below (in reverse chronological order):

Assuming you have been following along, you now have a working Android Studio environment on your computer. We are now going to create a more complex application. Read more »

Mobile app development with BlueMix – part 4

I have been covering the IBM BlueMix facility in several weblog posts. These are linked below (in reverse chronological order):

For those who have been following these posts, we should now have a solid understanding of the fundamentals of working with this online facility. Students in our CMWEB 280 class are also exposed to using Android Studio. I thought it would be useful to cover the fundamentals of working with BlueMix and Android Studio. Read more »

Next Page »