Video – How #Data from #Water Management Impact Quality of Life – @ChicagoCityData

Barrett Murphy
Barrett Murphy, First Deputy Commissioner for the Department of Water Management at the City of Chicago,  explains water management objectives and how data is impacting infrastructure plans to prevent flooding.

 

Chicago City Data Users hosted its usual meet-up with an unusual topic; Water. The October gathering  examined  how data can be used to improve quality of life as it relates to water.

Barrett Murphy explained the crux behind water management within an infrastructure.  He noted that “Water finds its level”, meaning that it gathers at the lowest point of terrain. In an urban area that tends towards filling basements. Therefore much of the rainwater planning is meant to guide water along the streets to drainage as much as possible.

Murphy walked the audience through many of the obstacles currently facing Chicago’s design. One plan that was discussed was directing emergency water onto the Dan Ryan, which raised laughter in the room as much as it did debate.

Other talks included a GitHub project that monitors beach quality.  Scott Beslow, a Chicago beach enthusiast, founded Drek Beach .  He developed the scoring model on E Coli and included public data from the Chicago Park District .  He has opened the project to volunteers to help refine the model further.

On the site Beslow says “As a civic hacker, open government advocate, and beach lover, I wanted to create a website dedicated to exploring the resulting data.”

Scott Beslow Chicago City Data
Scott Beslow of Drek Beach explains how the site developed. It provides a quality rating for the Lake Michigan beaches in Chicago.

The “James Bond” of programming: Javascript And Its Importance To Business Development

James Bond Skyfall Image
If James Bond can be rebooted, as Daniel Craig has done back in 2008, then so can programming languages.  That is the backstory for JavaScript, which has grow in capability and importance since its pop up window days.

JavaScript has been rising in importance for web and app design over the past few years. It’s an old programming language, much like James Bond is an old movie series. But just as Daniel Craig revitalized the series back in 2008 with Casino Royale, culminating in 2015’s Spectre,  JavaScript is being revitalized for a new era of mobile devices and IoT that was not in existence in its 1996 debut in Netscape.

Part of the reason stems from the canvas element in HTML5. Because it is called out in a container, called <canvas>, Javascript can be used to manage the elements. This gives Javascript the capability to manage elements in an unprecedented way, such as data visualization.

Another source is a growing number of Javascript libraries for interacting with the document object model. Originally Javascript was used for pop up windows – to instruct the browser to show another window automatically – or infamously, depending on the content.

But new uses developed, requiring more interaction with the DOM in the browser. The DOM is an operational code within the browser that is accesses to tell the browser how to render a page or another media that appears in a browser.

The business value is the capability for developing browser features that the user can see and interact while cutting calls to a server and reducing time to render a site or app.

A dashboard with visual elements, telling the story of trends that lead to business decisions, is a great example. The data can be called without multiple calls to a server, permitting visualization for tablet devices.

You can read how JavaScript is influencing technology in the following posts:

CMSWire – How To Use JavaScript for App and IoT Development

IOT Solutions – The IoT Ushers In the Ascendance of JavaScript

Also check out this Zimana JavaScript post on coding basics that can help you understand JavaScript better for your website and app development plans.

1 Comment

What is Javascript? An Explanation and Helpful Resources

Ok, by now, if you are maintaining a website or thinking of maintaining a website, you may have heard of the programming languages used to create a site or app. One of those languages typically mentioned is JavaScript.   Let’s cover a few basics, and some resources on where to learn more.

The Essential Definitions

JavaScript is a dynamic scripting language that can instruct the browser to make changes to page elements after loading a page.  Its value is making site elements function more dynamically without  requiring a call to a server.  This can provide some benefits, such as improving  performance loading a website page or an app in the browser.

Javascript generally appears in one of 3 positions in a website or app:

  1. in the head of a webpage
  2. in the body of a webpage
  3. Maintain a separate file. The benefits of a separate file for the J/S code are:
    • easier for controlling a version of a libraries
    • universal share across HTMLs

Web developers describe JavaScript as an Object Oriented Programming Language.  An Object Oriented Programming Language essentially treats each element in a page as an object according to the script called in Javascript (or in another language, such as Ruby). Thus everything belongs to something else, and everything has a relationship.  This structure makes it possible for an image position to be rotated or a  section of text to scroll into view. The image or text sections are treated as objects.

Each object generally has a property – a property is a description of that object.   Think of an object and a descriptive phrase that you would imagine if you close your eyes.  An object named dish would be smooth. An object named water would certainly be wet.

Each object can be made active or dynamic through a method – an action called within a javascript script.  So now think on object and an activity – a dog (object) barks (method), a sports car engine “roars”.  Objects and methods are usually called through a function –  statements that perform a task.  A function takes the general form below:

 function functionname ( ) { }

Additional parameters are described in the parenthesis, while the objects and methods – the elements and associated actions – appear in the brackets.  Below is an example of a for loop function.

for (var i=0; 1 < numbers.length; i++)
     {console.log(number[i]); 
     // Print value to console
     } 

(The double slashes “//” are meant to provide a comment instead of a function.)

Learning about Libraries and JQuery

So with the thought of webpage elements as objects, writing a Javascript programs sounds easy, right?  Not exactly.  Unlike other well-known languages, Javascript is not compiled – that means there’s no need to have another program of software compile and interpret instruction.   Thus JavaScript uses regular text which can be interpreted.

But every browser has its own interpreter for the text, a Document Object Model (DOM).   A DOM model is an interface, a means to “talk” to different elements in a page.  So Javascript has to account for that difference.

In texts and posts on Javascript or in developer gatherings, you’ll read and hear a lot about libraries (you’ll hear something similarly described in other object oriented languages, such as gems which are used in Ruby). Libraries are needed to account of different operational features of the major browsers, despite acceptance by browser makers of protocols.  Browsers have different implementation of a DOM, so libraries provide a unified view of Javascript code.

Libraries are called with the following element notation:

<script src=”chart.js”></script>

in which a script, chart.js, is a called as a source.

In many cases you’ll hear the name JQuery come up. JQuery is a JavaScript library, a file that highlight elements in the same style as a Cascading Style Sheet (CSS)  does for a webpage.  Its purpose is to provide a set of objects and methods that can be called while minimizing the interaction with the DOM for a browser. The result is a case  Think of it as a sort of API which interact with the DOM in the form of a library.

Tools and Associated Libraries

To create that great method and ensure that is functions in the grand scope of your app or site, a little debugging becomes required.  To debug means to review code and edit as needed.  The following are tools and resources that make debugging code much easier:

  • JSLint – This is an in-browser debugging testing software
  • JSfiddle – This is a development platform for creating Javascript frameworks. The screen features four quadrants – one for HTML, one for CSS, and one for Javascript, with the fourth displaying the results from running a code. The platform provides a means to show code alongside each other for easier, more holistic QA of  a trial code.
  • JSBin – Like JSfiddle, this console lets user try out HTML, CSS, and Javascript code on screen. Users can save and share their creations for expert opinions.
  • Jshint – This is an error checker for verifying Javascript code
  • Codeacademy – has a number of helpful pages on code, including a dedicated Javascript section
  • Qunit – testing framework to verify jQuery code
  • Venkman is another debugging software, available from Mozilla, the creator of the Firefox browser
  • Karma is a testing environment
  • Mootools – an open source JavaScript framework meant for advanced development for cross browser code

Books and Website Resources

The book Javascript and JQuery  by Jon Duckett has additional resources available at its supporting site, www.javascriptworld.com. I wrote a review on it at Small Business Trends.  It’s an excellent modern book that offers a solid overview on Javascript and associated subjects like JSON, JQuery, and APIs.

You can also check out Programming Javascript Applications, which is a bit more advanced book but also offers insight into how to make the most of Javascript.

The site JQuery.org offers a number of resources and covers the basics on JQuery.  Not only is this a good resource of JQuery-associated features like plugins, but the site can also provide some understanding of how libraries in general work.

There are online video sites, such as www.metacasts.tv – This website offer programs on Javascript techniques – there is a dedicated page for frameworks.  These have a subscription price, and can be a bit advanced  – users who are comfortable with GitHub will appreciate the GitHub availability.

There is good ol’ Tuts – this site hosts a number of how to related to web design and development.  You can check out the site here.

You can also check out the descriptions for popular frameworks, such as AngularJS.  The main site offers several tutorials, and some advanced definitions that can help one understand JavaScript much better.

Also, need a text editor for practice – consider one of these text editors outlined in this Zimana post.  Sublime and BBEdit are just two of the ones mentioned here in which a user can create a JavaScript script.

Infographic – #InternetofThings Primer by AIG

Internet of things - aig

This infographic covers some of the basic benefits that are expected from the Internet of Things era.   Dr Shawn DuBravac created the infographic for AIG.

One interesting note is the cost reduction on devices – the infographic notes how accelerometer devices have dropped in average cost from $7 to just 50 cents.

This expected trend of lowered costs was also mentioned in during Joichi Ito’s presentation at the O’Reilly Solid conference, a media event that covers the latest Internet of Things innovations. Ito is the director of MIT Media Labs, a facility which specializes in technology research.  He is a leading thinker and writer on innovation, global technology policy, and the role of the internet in transforming society.

You can read about the Solid conference in these posts for CMSWire (see Finding Solid Ground in the IoT Era) and for Small Business Trends ( Ways Your Small Business Can Capitalize on the Internet of Things).  You can also check out the video of Its’s Solid Conference presentation How Bio Is The  New Digital .

CloudCamp – The Basics of HIPAA Privacy Compliance

CloudCamp Chicago Meetup
Cloudcamp is a technology meetup in Chicago which showcases topics and ideas from presentere accross the Chicagoland area. This meetup focused on healthcare cloud issues such as privacy and health movement from wearables.
There are a ton of meetups in Chicago on technology, but few are dedicated to cloud technology. One that does examine the influences on cloud tech is CloudCamp.
CloudCamp presented a healthcare theme meetup, in which presenters displayed lightning talks on health.  Alex Connor, Lead architect at Crimson Care Management  highlighted the best of compliance concerns in his talk called  Security Sanity – what is it like in a HIPAA compliant environment.
HIPAA requires PHI – otherwise known as “protect health information” – from organizations. This means tactics such as encryption and physical security of hard drives and in emails.
Moreover, encryption efforts means having a sense of traceability is important. Traceability addresses the following questions that a HIPAA review would raise:
  • To whom does the data refers
  • Who saw the data
  • What did they see
  • When did they see it
  • From where did they see it?
To identify traceability and to maintain protocols,  annual HIPAA compliance assessment is needed.  Connor outline the basics that would support HIPAA compliance.  Thes would lead into safety best practices such as:
  • Ensure that the Information security officer attend HIPAA training, compliance,
  • Add encryption to all workstations
  • Add a Screen shield to prevent over-the-shoulder view of data
  • Lock laptops whenever you leave it – even for less than a minute
  • Set clear expectation; contextualize policy and definitions
  • Include clear definitions around warning, sanctions, and breaches
  • Stay current with current laws
  • Talk openly about breaches in the news
More is available on the slide deck, available on the Cloudcamp Slideshare page.  You will see Connor’s talk, as well as the presentations from other speakers in their entirety.