Notes from Seacoast Web Dev 23-April-2014: Byron Matto Famo.us and Charles Denault HHVM and Hack

The April meeting of the Seacoast Web Dev group took place on April 23rd at the AlphaLoft coworking space. Proprietor Josh Cyr had his usual welcoming speech: thanks to Flatbread Pizza for the pizza, the corporate and community supporters for the free beer, and to the speakers for volunteering. There were two excellent presentations last night:

Byron Matto showed off the Famo.us JavaScript library. Famo.us is coming out of the gaming space, with a lot of emphasis on animations via transitions and matrix math, and less heavy DOM structures like jQuery and the other libraries depend on. Elements tend to be rendered via absolute positioning on a flat canvas and animated through transitions that are hardware-accelerated, rather than being built in a a heavy DOM div-within-div-within-div container and wrapper structure, giving a lighter weight and better performance especially on CPU-constrained mobile devices. Famo.us does not yet have a clear roadmap and it is unclear exactly which platforms/runtimes it will be running on (discussion includes Backbone, OpenGL, and even XBox!) but Byron encouraged anyone interested to sign up for the beta (there’s a waiting list as they ramp up) to get in as soon as possible.

Charles Denault of SimpleCharters spoke on Hack, the Facebook fork of the PHP language, designed to work with static data typing and run on the Hip Hop Virtual Machine. Both HHVM and Hack are Open Sourced, licensed under the PHP and BSD license, respectively. Facebook started the Hack project as a way to improve performance and they report a 5x to 10x gain in speed using Hack on HHVM. Charles cautioned that while moving existing PHP on HHVM is fairly painless, if the choice is made to move your PHP code onto Hack, reversing that decision is more difficult, as the changes will occur in much of the code (a good source code control mechanism and branches ought to handle this, methinks). There was a lot of interest in the performance specs, and questions from the audience on HHVM compatibility with major frameworks, and performance benchmarks between PHP 5.6 and HHVM. (PHP 5.5+ have the newly-open-sourced Zend OpCode cache, see article here). Clearly, there is a lot of interest in the subjects of PHP and web site performance improvements!

Thanks to Charles and Byron for excellent presentations, to Josh and AlphaLoft for organizing and hosting the meeting.

Ancient Fox Manuscripts Unearthed

Ancient Scrool

Ancient Fox Documents Unearthed

The Boston Computer News Network was an email newsletter sent out by the Xbase Special Interest Group of the Boston Computer Society. Les Pinter, the organizer of that group, commissioned a group of local volunteers to come out with a FoxPro-specific version of the newsletters. The timing was great; MS had just bought Fox, VFP 3 was coming, DevCons were awesome. Here are the first few newsletters, recovered from an old dusty cave in the frozen northeast, scraped off an old 3½″ floppy.

http://www.tedroche.com/papers.php#1994

Some classic stuff out there for old geezers: Arnold Bilansky facing down Bill Gates, the first demo of VFP3 beta in Boston, Arnold and Ted’s excellent adventures in San Diego, and more. Contributors include Brad Shulz, Whil Hentzen, Dale Gilstrap Leopold, Ken Levy, Harold Chattaway, Stephen Sawyer, and more!

Notes from Feb 25th Web Dev Meeting: Brian Cardarella on Ember.js

The Portsmouth Web Dev meetup is hosted at Alpha Loft in Portsmouth. This month there were two meetings: Ember on the 25th and Lightning talks on the 26th. On the 25th was the first, with Brian Cardarella of dockyard.com giving the main presentation on Ember.js.

Brian started with a bit of a history lesson. Ember spun off of SproutCore from Strobe. SproutCore 1.0 suffered from the slow (at the time) JavaScript runtimes and overly-complex UI widgets, resulting in a poor user experience. The 2.0 branch was started and Yehuda Katz (core contributor, Rails, jQuery and more) and Carl ??? and pushed off UI elements to focus on the core and on speed.

The run loop is the core event loop engine of Ember, and code in Ember can enqueue new items onto the loop, which continues to loop as long as there are items to be processed. There is great documentation in the Ember Guides, and a good video overview. Brian suggests that the Ember Starter Kit is just that, a good way to get started, but likely not appropriately robust for a professional application.

Enough background, we jumped into http://ember.jsbin.com/ and Brian commenced live coding in Ember to demonstrate how the Ember application essentially hooks into the body tag of the DOM and can read and write elements from there. He showed how actions could be triggered by observed changes, that setters and getters were required for property manipulation.

Ember has its own form of MVC (doesn’t everything?) where Models are business rules containers, and Controllers are contexts in which your interactions with models occurs, essentially acting as proxies. Views are nearly becoming deprecated as their functionality is being replaced with HTML5 Web Components (there’s currently a polyfill for these called polymer.) Routes are similar to Rails with nesting. URLs can be considered a state manager for an Ember app, so two users see the same thing at the same URL, unlike some other JS frameworks. There is an Ember Inspector for Chrome and FireFox that allows you to dive deep into the View Tree, Routes and Data for debugging. Excellent peer support is available on IRC at emberjs and emberjs-dev.

Brian and Dockyard have built Ember-AppKit-Rails as a gem to create a shared directory for an Ember app and its Rails backend. Note this is Very Beta, Somewhat Experimental and may be abandoned. You have been warned. Brian explained there are not yet any Best Practices worked out, so different attempts have been tried. Side-by-side projects where the two are separate may turn out to be a better design; Brian is looking at Ember AppKit [Update: Deprecated, but URL updated for reference]. Ember is designed to deal with different backends, depending on their API syntax. The one he was using was ActiveModelAdaptor, build to work with Rails.

An excellent question on “Where do you do validation?” And the answer: pretty much everywhere. Brian is the author of ClientSideValidations and has some experience with this. He tried something similar with Ember but points out that the context of the front end and backends can be so different that the validations aren’t necessarily the same.

Brian then proceeded to do a demonstration of an under-development project by Dockyard and even in its early stages, it appeared pretty promising.

Brian recommended downloading Ember, reading through the Guides, and taking some time to learn the components. Promises are a key element to the Ember framework and are worth reviewing; ECMAScript 6 will have promises built in. Handlebars, the templating language, is expected to be replaced by HTMLBars in the next major revision. Best practices and calling conventions (especially error/exception/validation handling) are still up in the air; check out JSONAPI.org for some work on this front.

So, we had an action-packed, fact-filled, acronym-filled session with a lot of good material and an excellent overview of the state of Ember and its promising future. Thanks for Brian for speaking and for Josh Cyr, Alpha Loft proprietor, for hosting!

Happy Birthday, iMac

iMac

My iMac is celebrating its 10th birthday today. Laura and I purchased the machine on 2/3/4 and were immediately enchanted. Here’s the launch video with Jonny Ives, Phil Schiller, Annie Leibovitz, Seal, Francis Ford Coppola and a great soundtrack:

http://www.youtube.com/watch?v=ZWGuUkYZYIE

That was great, and I loved the commercials, too:

While the iMac is no longer safe to keep attached to the internet (its Power PC CPU limits it to OS X 10.4), the machine still serves in a place of honor in the workout room, powering videos and music for our workouts and serving as a backup DVD burner.

Notes from Web Dev Meetup, 22-Jan-2014

There was a packed house, as usual, for the January meetup of the Web Dev group, held at the AlphaLoft coworking space. After the usual announcements by organizer and AlphaLoft proprietor Josh Cyr, there were three lightning presentations:

  1. Open Source Software: an excellent overview of the concerns developers should have about Open Source Software and the processes they should be doing. Introduced by Matt Jacobs of Acentage Law, PLLC, the main presentation was by Matthew Jacobs, General Counsel of Black Duck Software, Inc. Mr. Jacobs included a copy of his white paper, “The Talk: What a General Counsel Needs To Know About Open Source Software” also available on the Black Duck Software web site.
  2. Blogging with the Ghost blogging platform. Sean Baker blogs at http://www.seanvbaker.com web site using Ghost software. Sean was very intrigued with the new business model adopted by Ghost founder John O’Nolan and the non-profit business model he set up for Ghost. Ghost appears to be a minimal product (in the good, lean sense) focused on blogging alone, and avoiding the complexities of morphing into a Content-Management-System-To-Rule-Them-All.
  3. Elastic Search, presented by Nick Plante. Elastic Search is technology based on Lucene. Nick moved from Solr to Elastic. [Side note: the right time to use MongoDB: never.]  Elastic Search is used by some of the big guns: Etsy, GitHub, Path, Foursquare, since 2010. It’s all JSON, all the time, so you avoid the bottlenecks of interfaces and impedance mismatches of query languages, object models, etc. It supports excellent horizontal scaling: hand it hosts, and it creates shards across them. It has excellent tokenizers  built-in, since it is based on Lucene. Nick suggests avoiding NIH syndrome by searching for tokenizers before taking the DIY route: it’s probably already out there: tokenizers are available for strings, numerics, arrays, stemming, synonyms and more.

Thanks to Josh for organizing and all the speakers for putting together coherent and informative presentations.

Notes from Seacoast WordPress Meetup, 29-Jan-2014

Official WordPress Logo, see http://wordpress.org/about/logos/

WordPress

The Seacoast WordPress group had a second Meetup in January, with a dozen in attendance. That leaves February free for our alternate organizer, Eric, to kick off the debut meeting of the ‘Users’ meeting. The intent is to make the group more inclusive by holding two meetings most months, one focused on developers, talking PHP and CSS3 and Javascript and plugin and theme development and geekier stuff, and second meeting focused on users, talking about managing sites, hosting issues, finding plugins and designing sites, more on using WordPress than tinkering under the hood. I’m sure there will be a lot of overlap between meetings, and I’m looking forward to seeing how this works out.

We continued our series on HTML5/CSS3 features last night, with a number of speakers taking turns showing off new capabilities of HTML and talking about how they could be integrated into WordPress or might already be in your favorite theme, or if there were incompatibility issues (did anyone say “Internet Explorer?”) and whether there were work-arounds.

Jacqui talked about the new semantic tags of <header>, <footer>, <nav>, <section>, <article>, <aside> and <main> and also on media queries. There’s enough materials in either of those two topics for an entire meeting! I spoke on data entry: placeholders, required attributes, data types and the output tag. Andy talked about <audio>, <video>, <canvas>, <progress>, <meter>, <details> and <figure>. Amanda showed the <datalist> feature and the related CSS of animations, transformations and transitions.

There was a lot of material, and I’m looking forward to finding some spare time to play with many of the features I saw demonstrated.

Several more presentations were at the ready, and we’ll be looking forward to David and Kevin next meeting. Developers will likely get together on March 5th, the first Wednesday meeting. The kick-off users meeting will be held in February. Please join the Meetup group to keep up to date on the details.

Web Forms 2.0

HTML5 Powered with Semantics

At tomorrow’s Seacoast WordPress meeting, we’ll be doing a round-robin session where many attendees have volunteered to do short presentations on what’s new in HTML5. I’ll be covering the “features previously known as Web Forms 2.0” especially placeholder, required, autocomplete and the new Input types and output fields.
The best resources I’ve found are the WHATWG reference on forms and the CanIUse web page and the jQueryUI pages and plugin pages.

Ted Roche awarded FoxPro Lifetime Achievement Award

Picture of the Lifetime Achievement Award

FoxPro Lifetime Achievement Award

At the Southwest Fox 2013 conference, held in Gilbert, Arizona on October of 2013, I was awarded the FoxPro Lifetime Achievement Award. I am honored and humbled to be recognized by the FoxPro community, a group of developers I hold in high esteem.

Sadly, I wasn’t able to attend the conference, but the keynote was live streamed and recorded at http://www.ustream.tv/recorded/39939836.

I join an impressive group of people. All the award winners are listed in our equivalent of the FoxPro Hall of Fame on the Fox wiki: Internet Archive of http://fox.wikis.com/wc.dll?Wiki~FoxProCommunityLifetimeAchievementAward

 

CentOS joins Red Hat



Well! This is quite a development. The CentOS group has announced that they have joined Red Hat. It will take some time to sort out exactly what that means. In short form and somewhat inaccurately, CentOS is/was a free (as in beer, as in speech) distribution of Linux built on the free (as in speech, not in beer) distribution of Red Hat. The Red Hat distribution was typically packaged up and only available as part of an annual support arrangement with Red Hat. The source is freely-available, and the CentOS group used that source, removing the proprietary Red Hat trademarks and logos, and distributed the source freely. Red Hat has been focused on delivering reliable enterprise-grade software, and hasn’t really be targeted to small- and medium-sized businesses such as mine nor my clients. CentOS has been my distro-of-choice for my servers for in-house development, on-site client services, and data-center-hosted services.

Now, the CentOS group has announced that they have “joined forces” with Red Hat. It will be interesting to see how this plays how, and how the roles of Red Hat Enterprise Linux, the Fedora distribution and CentOS plays out.

It hasn’t always been this way. I bought a box of RedHat (probably version 5.1) at Best Buy many years ago. Red Hat has tried reaching out to the smaller market before. There was also a developer/OEM program (I don’t recall the name) where individuals could obtain inexpensive copies of RHEL, less the support, for development and pilot testing. This is a new direction, and I look forward to seeing how it works out.

Steven J. Vaughan-Nichols reports on the announcements for ZDNet here.

Notes from Seacoast WordPress group, 8 January 2014

The first 2014 meeting of the Seacoast WordPress group took place on Tuesday (not our usual night), January 8th, amid bitterly cold conditions in Portsmouth, NH. Nonetheless, we had a big crowd of a dozen attendees. I spoke on HTML5 and CSS3. My slides can be found at http://www.tedroche.com/Present/2014/html5css3/html5css3.html.

Our next meeting is a week early, on January 29th. Join the group on Meetup for further details and to stay up on group news.

Thanks to Amanda Giles for organizing the meetup and Josh Cyr for providing the AlphaLoft meeting space.

Powered by WordPress. Designed by Woo Themes

This work by Ted Roche is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 United States.