blog.humaneguitarist.org

NCDevCon 2011

[Sun, 09 Oct 2011 16:00:53 +0000]
I attended NCDevCon [http://ncdevcon.com/] a few weeks ago and just wanted to post my notes and provide relevant links for later use/study. I'm only going to jot down the major takeaways I had from the sessions [http://ncdevcon.com/page.cfm/schedule] I attended (listed in alphabetical order). Undoubtedly, the link to the session information might be irrelevant when the 2012 event nears. But videos of each can be seen for free (I think) at NC State's College of Textiles' page here [http://textiles.online.ncsu.edu/online/Catalog/pages/catalog.aspx?catalogId=7746f067-c3c9-4c03-87de-ae09176b1d82]. AngluarJS - What HTML Would Have Been If It Had Been Designed For Building Web Applications (Tim Cunningham) The AngularJS [http://angularjs.org/#/] session was a great and the speaker also makes great (and strong!) beer than he shared with attendees after the sessions. There's not too much to say here except this is something for me to keep an eye on. Notes: * Client-side scripting is like the "Wild Wild West". * AngularJS is MVC: JSON is the model, HTML the view. * Built for testing. * jQuery is good for DOM manipulation; AngularJS increases the level of abstraction. * Not yet at 1.0, so maybe don't rely on it just yet. * Look up "dependency injection [http://jamesshore.com/Blog/Dependency-Injection-Demystified.html]". HTML5 vs Flash Video: Choose Wisely (Ben Farrell) This was a basic intro to HTML5/Flash video. I think it's too soon for people to get on either side of the fence, not to mention there's too much money to be lost if Adobe doesn't figure out how to play well with certain devices (i.e. Apple). And it looks like they are doing just that [http://blogs.adobe.com/ktowes/2011/04/sneak-peak-future-adobe-technology-for-http-streaming-across-multiple-devices.html]. Notes: * Use Modernizr [http://www.modernizr.com/] to test for codec support. * Apple's HTTP Live Streaming is a "bait and switch" as the Quicktime plug-in is required. Introduction to jQuery Mobile (Ray Camden) This was really helpful to me since I wouldn't mind doing something mobile compatible but I hesitate to write mobile apps and have to compile them for particular devices even with a cross-compiler like PhoneGap [http://www.phonegap.com/]. I'll definitely have a look-see at jQuery Mobile [http://jquerymobile.com/] as it has a lot of out-of-box features that can ease the task of writing effective, easy-to-navigate pages. Notes: * Takes advantage of HTML5's "data" attribute from
tags [http://www.javascriptkit.com/dhtmltutors/customattributes.shtml]. + Lists: <data-role="listview"> + Filtering support: <data-filter="true"> o The filter only works on the data on the current page, not the entire set of data. * Check out: Search, Slider, Collapsable Blocks, swipeable events, etc. Geolocation 101 (Andrew Powell) This tied in well with the jQuery Mobile class. We talked about the HTML5 Geolocation API [http://diveintohtml5.com/geolocation.html], the history of geolocation technology and presidential executive orders, and its role in "Tomorrow Never Dies [http://www.imdb.com/title/tt0120347/]". Notes: * You must always ask for user permission; some browsers make sure the user agrees. * Don't write geolocation intensive apps; they drain batteries. * Cell phone tower location is the least accurate but fastest, followed by Wi-Fi, then GPS (slowest, most accurate). + Cellular network location works like a Venn diagram [http://en.wikipedia.org/wiki/Venn_diagram]. * Not all devices/OS' support altitude reporting. * Look up "GeoFencing [http://en.wikipedia.org/wiki/Geo-fence]". Tame Your CSS3 With Sass (Les James) This was a really helpful class as I'd never heard of Sass [http://sass-lang.com/], which the presenter described as a "CSS metalanguage". There really aren't any notes that need writing, I simply need to use it. BTW: there was one fellow there who worked for the government and had a CSS file over 2k lines long that he inherited from his predecessor. He will definitely be using Sass in the future! QR Code Crazy (Shawn Dunning) This was a great overview of the history and uses of Quick Response, or QR codes [http://en.wikipedia.org/wiki/QR_code]. In addition to seeing some examples, we talked about how the smartphone/QR code bit presents accessibility issues (more Digital Divide, if you believe in that). And a week or so later, I also heard this [http://www.npr.org/2011/09/26/140805493/few-consumers-are-cracking-the-qr-code] on NPR which asked if by the time QR codes could become more widely adopted they might already be obsolete. Notes: * Uses position boxes and, per the standard, white/black should be switchable. + I wondered about putting QR codes on archival scans to verify the image's orientation and color balance, i.e with some metadata embedded in the code itself. * Smartphones use regular expressions to determine that a URL string exists and subsequently points a browser to the site. The code itself is simply a string. What Is NodeJS And Why You Should Care (Garrett Johnson) A little over my head, but that's why I went right? :P Notes: * Research node.js [http://nodejs.org/#about]; possibly use to serve up a website. Writing JavaScript That Doesn't Suck (Bucky Schwarz) If you watch only one video online, watch this [http://textiles.online.ncsu.edu/online/Viewer/?peid=b2e41bcc02cc4a169a0baaa4ecb960ac1d] one. Useful and highly, highly entertaining. Notes: * Consider using strict equality in JavaScript (===). * jQuery "leads to one-off scripting ... ". * Selector speed (fastest to slowest): id, element, class. + Don't search for a single class unless you have to. * Don't declare new variables inside a loop (doh! I do this all the time). * Look up "dirty bit [http://computer.yourdictionary.com/dirty-bit]". This was the last session I attended and afterward I talked to the speaker. He recommended "JavaScript: The Good Parts [http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742]" as a quick, no-nonsense read to help improve my JavaScript.

COMMENTS

  1. Charlie [2011-10-12 16:07:25]

    Thanks for sharing your notes Nitin, you definitely caught some things that I missed.. and I'm still inching my way closer to setting up my own blog/site.