<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-23681754</id><updated>2011-11-01T20:38:47.961-07:00</updated><category term='Non-relational databases'/><category term='GWT conference'/><category term='Visit to Microsoft'/><category term='WEB 2.0 Conference Trip Report'/><category term='Elaine and former student Thuon Chen at Google I/O conference 2008'/><title type='text'>Professional Development Activities</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23681754.post-1907566275935734467</id><published>2011-10-18T18:51:00.000-07:00</published><updated>2011-10-18T18:59:12.094-07:00</updated><title type='text'></title><content type='html'>6th annual Code Camp &lt;br /&gt;8, 9 October 2011&lt;br /&gt;Foothill College&lt;br /&gt;&lt;br /&gt;This un-conference just keeps getting better and better. More people know each other, more students have clued into it, more people attend and more people give talks! This time there were even companies recruiting, for example, SurveyMonkey.&lt;br /&gt;&lt;br /&gt;1. "Mobile Web Design Moves" by Luke Wroblewski&lt;br /&gt;Designing a mobile app or website is very different from the desktop. The screen size is obviously smaller, so you have to make sure you choose just the most important functionality. You need to think about what features people need when they are on the move. People will type, as the massive popularity of texting and tweeting proves. &lt;br /&gt;-Put one nav button top left, which jumps to the bottom of the screen where alll the navigation is.&lt;br /&gt;-Don't replicate browser controls (like the back button) in your HTML app.&lt;br /&gt;-Drop downs take so many taps. so avoid them.&lt;br /&gt;-Input: specify type attributes in HTML, use input masks.&lt;br /&gt;-Drag to refresh or reveal.&lt;br /&gt;-Make interactions happen with the content, e.g. content is clickable.&lt;br /&gt;&lt;br /&gt;2. "ECMAScript: What next?" by Douglas Crockford&lt;br /&gt;The new features of the JavaScript language he is describing here may be implemented by browsers in 2013.&lt;br /&gt;-Modules - gives us security; make JS one of the most secure programming languages in the world,&lt;br /&gt;-Proxies,&lt;br /&gt;-struct types intended for 3D graphics realtime,&lt;br /&gt;-Parallel arrays for compute-intensive apps,&lt;br /&gt;-Other features that will make JavaScript better for server side programs.&lt;br /&gt;-See Wiki.ecmascript.org  for more info or to make a feature request.&lt;br /&gt;&lt;br /&gt;3. "Programming Android Tablets" by Oswald Compesatoand Markova Gargenta&lt;br /&gt;Markova Gargenta -would be a great adjunct&lt;br /&gt;Marko@marakana.com&lt;br /&gt;He wrote the O'Reilly book&lt;br /&gt;No more passwrds, must use OAuth&lt;br /&gt;Android Java=&lt;br /&gt;Java SE - UI , reflection, et al&lt;br /&gt;+ Android API&lt;br /&gt;&lt;br /&gt;4. "iPhone Development Kickstart" by Lance Bullock&lt;br /&gt;-App Delegate exposes the app lifecycle&lt;br /&gt;-You have Views and 'view controllers'&lt;br /&gt;    A 'view controller' is just another word for the controller in an M/V/C architecture&lt;br /&gt;-Nib file is where you build your UI&lt;br /&gt;-All positioning is absolute&lt;br /&gt;-Cocoa touch frameworks and patterns&lt;br /&gt;         foundation, Uikit, mapkit&lt;br /&gt;-Don't perform long running tasks on main UI thread&lt;br /&gt;&lt;br /&gt;Objective C&lt;br /&gt;-They are teaching Objective C at Canada college&lt;br /&gt;-Has no constructors&lt;br /&gt;-You have to release memory&lt;br /&gt;-Uses alloc&lt;br /&gt;&lt;br /&gt;5. "JavaScript Code Organization and Encapsulation" by Shawn Can Ittersum&lt;br /&gt;This talk was standing room only. It assumed one already knew JavaScript and OOP and wanted to use JavaScript as a real application programming language.&lt;br /&gt;-In JavaScript, all functions are closures because they all have scope.&lt;br /&gt;-When you use "new" JS automatically creates an instance for you and you can refer to it as "this"&lt;br /&gt;-Duck.prototype = {  }    Is the parent object, so all other Ducks will inherit from that object, which allows all other Ducks to use the same copy of a method in the prototype.&lt;br /&gt;-Base.js allows for more intuitive inheritance and class defs.&lt;br /&gt;-underscore as prefix is a signal that a variabe is private, but it isn't enforced by the language.&lt;br /&gt;-Put all globals in Shared namespace.&lt;br /&gt;-Keep all CSS styles in separate file.&lt;br /&gt;-Avoid creating many DOM elements using JavaScript&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-1907566275935734467?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/1907566275935734467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=1907566275935734467' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/1907566275935734467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/1907566275935734467'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/10/6th-annual-code-camp-8-9-october-2011.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-7168156286502512700</id><published>2011-08-13T17:20:00.000-07:00</published><updated>2011-08-13T17:22:07.469-07:00</updated><title type='text'></title><content type='html'>&lt;div&gt;&lt;b&gt;"Android App Development"&lt;/b&gt;&lt;/div&gt;&lt;div&gt;BayChi  (ACM special interest group on computer-human interaction)&lt;/div&gt;&lt;div&gt;Xerox Parc, 9 Aug 2011&lt;/div&gt;&lt;div&gt;Marko Gargenta, from Marakana&lt;/div&gt;&lt;div&gt;Marko would be a good adjunct, he wrote the book "Learning Android"&lt;/div&gt;&lt;div&gt;http://www.amazon.com/Learning-Android-Marko-Gargenta/dp/1449390501/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1313280539&amp;amp;sr=1-1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;1. Building blocks&lt;/b&gt; of an Android app:&lt;/div&gt;&lt;div&gt;&lt;b&gt;Activities&lt;/b&gt; : an activity is roughly a screen, managed by the system, system calls your callbacks, developer can't kill an activity, similar to an Applet.&lt;/div&gt;&lt;div&gt;&lt;b&gt;Services&lt;/b&gt;: run in the background, have no UI&lt;/div&gt;&lt;div&gt;    A music app would have an activity for UI and a service to play the music.&lt;/div&gt;&lt;div&gt;&lt;b&gt;Broadcast Receivers&lt;/b&gt;: publish/subscribe mechanism, can subscribe to events on the phone like battery life or network strength&lt;/div&gt;&lt;div&gt;&lt;b&gt;Content Providers&lt;/b&gt;: way to share content with other apps&lt;/div&gt;&lt;div&gt;    Built in content provider is contacts, media store, settings. Could be database or cloud based&lt;/div&gt;&lt;div&gt;&lt;b&gt;Intents&lt;/b&gt;: like events or messages. Open another app &lt;/div&gt;&lt;div&gt;    Eg. following a link in a  gmail message that opens browser&lt;/div&gt;&lt;div&gt;&lt;b&gt;Application&lt;/b&gt;: holds everything together&lt;/div&gt;&lt;div&gt;&lt;b&gt;System Services&lt;/b&gt;: you can tap into it, like location, wifi, but they are expensive with battery&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;2. Ancillary Information From the Lecture&lt;/b&gt;&lt;/div&gt;&lt;div&gt;CTS: compatibility testing service&lt;/div&gt;&lt;div&gt;Tablets don't have hard buttons but phones do.&lt;/div&gt;&lt;div&gt;byte code gets compiled to dalvik code and it is the dalvik VM that runs your app.&lt;/div&gt;&lt;div&gt;He used omnidazzle to draw on the screen during presentation.&lt;/div&gt;&lt;div&gt;http://mrkn.co/f/393.  For slides and code&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-7168156286502512700?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/7168156286502512700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=7168156286502512700' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7168156286502512700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7168156286502512700'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/08/android-app-development-baychi-acm.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-5283414448064814664</id><published>2011-06-24T13:31:00.000-07:00</published><updated>2011-06-24T10:44:35.162-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Non-relational databases'/><title type='text'></title><content type='html'>&lt;div&gt;&lt;b&gt;Non-Relational Databases&lt;/b&gt;&lt;/div&gt;22 June 2011&lt;div&gt;This meetup was sponsored by the Software Architecture and Platform (SAP) SIG of the Silicon Valley Forum. The speaker - Chris Westin - was from a company called MongoDB, an open source database management system that is not relational.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Chris Westin started out by saying that implementations of the relational data model have difficulty with schema changes and slow write rates. He then categorized the current commercial landscape of non-relational database management systems:&lt;/div&gt;&lt;div&gt;I. Data Models&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;1) key/value stores&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;2) &lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;document stores where the document has named fields, &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;            eg. json, xml -no joins necessary because of nesting&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;3) column-oriented store&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;4) graph databases -&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;good for finding shortest paths, etc.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;II. Consistency Models&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;1) single master&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;2) multiple master (aka "dynamo")&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;Any non-relational database currently available fits into one of the data model categories and one of the consistency model categories. &lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;For example, Mongo DB is a document store with the single master consistency model.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;&lt;b&gt;Features of MongoDB:&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;  &lt;p class="MsoNormal"&gt;Open source, stores Json objects as Bson, has interesting advanced queries possible, supports sharding, supports all the application programming languages, downloadable from github.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;MongoDB's business model is to get paid for support, consulting and training.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Users of MongoDB: Craigslist, bit.ly, Shutterfly&lt;/p&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;I asked "&lt;/span&gt;Where does Google's BigTable fit into the commercial landscape?" Answer: Big Table is dynamo (multiple masters) and column oriented, I think. It isn't on the slide because we can't download it and use it.&lt;span class="Apple-style-span" style="font-family: Cambria; "&gt;&lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Chris saw a recent twitter: "If a product is not downloadable from github, it is dead to me."&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;/span&gt;          &lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:documentproperties&gt;   &lt;o:template&gt;Normal.dotm&lt;/o:Template&gt;   &lt;o:revision&gt;0&lt;/o:Revision&gt;   &lt;o:totaltime&gt;0&lt;/o:TotalTime&gt;   &lt;o:pages&gt;1&lt;/o:Pages&gt;   &lt;o:words&gt;26&lt;/o:Words&gt;   &lt;o:characters&gt;152&lt;/o:Characters&gt;   &lt;o:company&gt;FHDA&lt;/o:Company&gt;   &lt;o:lines&gt;1&lt;/o:Lines&gt;   &lt;o:paragraphs&gt;1&lt;/o:Paragraphs&gt;   &lt;o:characterswithspaces&gt;186&lt;/o:CharactersWithSpaces&gt;   &lt;o:version&gt;12.0&lt;/o:Version&gt;  &lt;/o:DocumentProperties&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:drawinggridhorizontalspacing&gt;18 pt&lt;/w:DrawingGridHorizontalSpacing&gt;   &lt;w:drawinggridverticalspacing&gt;18 pt&lt;/w:DrawingGridVerticalSpacing&gt;   &lt;w:displayhorizontaldrawinggridevery&gt;0&lt;/w:DisplayHorizontalDrawingGridEvery&gt;   &lt;w:displayverticaldrawinggridevery&gt;0&lt;/w:DisplayVerticalDrawingGridEvery&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:dontautofitconstrainedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;   &lt;/w:Compatibility&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="276"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;  &lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */ table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;    &lt;!--StartFragment--&gt;    &lt;!--EndFragment--&gt;&lt;/div&gt;       &lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:documentproperties&gt;   &lt;o:template&gt;Normal.dotm&lt;/o:Template&gt;   &lt;o:revision&gt;0&lt;/o:Revision&gt;   &lt;o:totaltime&gt;0&lt;/o:TotalTime&gt;   &lt;o:pages&gt;1&lt;/o:Pages&gt;   &lt;o:words&gt;13&lt;/o:Words&gt;   &lt;o:characters&gt;79&lt;/o:Characters&gt;   &lt;o:company&gt;FHDA&lt;/o:Company&gt;   &lt;o:lines&gt;1&lt;/o:Lines&gt;   &lt;o:paragraphs&gt;1&lt;/o:Paragraphs&gt;   &lt;o:characterswithspaces&gt;97&lt;/o:CharactersWithSpaces&gt;   &lt;o:version&gt;12.0&lt;/o:Version&gt;  &lt;/o:DocumentProperties&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:drawinggridhorizontalspacing&gt;18 pt&lt;/w:DrawingGridHorizontalSpacing&gt;   &lt;w:drawinggridverticalspacing&gt;18 pt&lt;/w:DrawingGridVerticalSpacing&gt;   &lt;w:displayhorizontaldrawinggridevery&gt;0&lt;/w:DisplayHorizontalDrawingGridEvery&gt;   &lt;w:displayverticaldrawinggridevery&gt;0&lt;/w:DisplayVerticalDrawingGridEvery&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:dontautofitconstrainedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;   &lt;/w:Compatibility&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="276"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt;  &lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */ table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin:0in;  mso-para-margin-bottom:.0001pt;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} &lt;/style&gt; &lt;![endif]--&gt;    &lt;!--StartFragment--&gt;&lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-5283414448064814664?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/5283414448064814664/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=5283414448064814664' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5283414448064814664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5283414448064814664'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/05/jobs-by-indeed.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3562422454203851513</id><published>2011-06-24T13:25:00.001-07:00</published><updated>2011-06-24T13:27:29.303-07:00</updated><title type='text'></title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;Test Driven Development&lt;/b&gt; Meetup&lt;/p&gt;  &lt;p class="MsoNormal"&gt;23 June 2011&lt;/p&gt;  &lt;p class="MsoNormal"&gt;TDD is a coding process where you always write the tests first, watch them fail, and then implement the code until your tests pass. I have read the book by Kent Beck, but benefitted a lot from this BYOL (Bring Your Own Laptop) meetup.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;You are testing functionality, not code, so you only write tests for the public functions that your program will provide to a user. In writing the test first, you are clear that you know what the functionality is before implementing. Refactor as you go, but make sure all your tests pass before refactoring.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The way that the meetup was organized was great. We were put it groups of 3, each group sharing one computer. One person is at each keyboard, but the group must communicate about what they are doing with the code. All the groups are working on the same problem, which in our case was a Yahtzee game. After 10 minutes or so, the person at the keyboard gets up and joins another group, and someone who was not at the keyboard the last time takes over at the keyboard this time.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I am trying to find a way to require students to program in this way. Apparently all of Google sw engineers use this technique, and other local employers have said that they are overjoyed to find job candidates that program in this way.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I found the organization of this meetup to be a great pattern for an inclass exercise. Another idea is to have one person write the test and another write the implementation.&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3562422454203851513?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3562422454203851513/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3562422454203851513' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3562422454203851513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3562422454203851513'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/06/normal.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-7688881403119647702</id><published>2011-05-12T09:11:00.000-07:00</published><updated>2011-05-13T14:21:00.611-07:00</updated><title type='text'></title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-VPbqR1Px6iU/Tc2fTkuA7bI/AAAAAAAAAQo/PSw9UK3ntHM/s1600/bugdroid.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 298px; height: 400px;" src="http://2.bp.blogspot.com/-VPbqR1Px6iU/Tc2fTkuA7bI/AAAAAAAAAQo/PSw9UK3ntHM/s400/bugdroid.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5606312269769141682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;I put together the notes from various technical lectures I have attended in the last two weeks. (Includes the ever-fabulous Google IO.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. GTUG meetup, 4 May 2011&lt;/div&gt;&lt;div&gt;2. Hacker DoJo Meetup on Mobile Web APIs, 5 May 2011&lt;/div&gt;&lt;div&gt;3. Bootcamp (Google's prelude to GoogleIO), 9 May 2011&lt;/div&gt;&lt;div&gt;4. Google IO, 10, 11 May 2011&lt;/div&gt;&lt;div&gt;("IO" might mean "Innovation in the Open")&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At Google IO:&lt;/div&gt;&lt;div&gt;We all got a free Samsung galaxy tablet!&lt;/div&gt;&lt;div&gt;I got a Bugdroid stuffed animal for attending every year. See picture of Bugdroid with Buddy above.&lt;/div&gt;&lt;div&gt;We all get a Chromebook mailed to us June 15!!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;HTML 5&lt;/b&gt;&lt;/div&gt;&lt;div&gt;There is a new attribute for input tag: input type = "text" speech&lt;/div&gt;&lt;div&gt;JS runs in the same thread as the browser UI.&lt;/div&gt;&lt;div&gt;A worker is a way to run a block of JS as a background process to the main browser.&lt;/div&gt;&lt;div&gt;A binary attribute is true if it is there. Example: required in an input  tag&lt;/div&gt;&lt;div&gt;Tool: modernizr&lt;/div&gt;&lt;div&gt;html5rocks.com/tutorials/file/filesystem&lt;/div&gt;&lt;div&gt;html5-intro.appspot.com&lt;/div&gt;&lt;div&gt;google.com/chromeframe&lt;/div&gt;&lt;div&gt;http://css3please.com/&lt;/div&gt;&lt;div&gt;Khronos.org/webgl/wiki/tutorial&lt;/div&gt;&lt;div&gt;Feature detection vs. modernizr&lt;/div&gt;&lt;div&gt;html 5 geolocation&lt;/div&gt;&lt;div&gt;object tag replaces applet tag&lt;/div&gt;&lt;div&gt;Types of storage in an HTML 5 web app:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;localstorage&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;sessionstorage&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;appcache(to act like an installed app)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;    &lt;/span&gt;indexeddb(future)&lt;/div&gt;&lt;div&gt;localstorage stores only text only for one domain in a certain place. No browser will execute code from that localstorage so it is secure (supposedly.)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Htmlfivewow.com&lt;/div&gt;&lt;div&gt;Files, graphics, audio&lt;/div&gt;&lt;div&gt;Blob URL , blob builder,window.requestfilesystem()&lt;/div&gt;&lt;div&gt;Html5terminalshell&lt;/div&gt;&lt;div&gt;in svg an image has it's own Dom&lt;/div&gt;&lt;div&gt;even 3d support in webgl&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Mobile&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Common logic and contract to respond to user events for each device&lt;/div&gt;&lt;div&gt;Distinct form factors and distinct states are in common&lt;/div&gt;&lt;div&gt;Distinct states are defined in CSS&lt;/div&gt;&lt;div&gt;LESS is a framework (sort of like a CSS++)&lt;/div&gt;&lt;div&gt;html5historyapi to handle the back button for the user.&lt;/div&gt;&lt;div&gt;Window.pushstate()&lt;/div&gt;&lt;div&gt;Jquery, modernizr, formfactorjs, leviroutes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Closure Tools&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Consist of library, templates, compiler (minifier and static checking, managing dependencies with script tags.)&lt;/div&gt;&lt;div&gt;Developing a Rich Internet Application (RIA) requires use of one of these:&lt;/div&gt;&lt;div&gt;1) java or flash plugin – hassle for user to download&lt;/div&gt;&lt;div&gt;2) GWT framework – proegrammer is too far from the metal&lt;/div&gt;&lt;div&gt;3) writing lots of JS  - best&lt;/div&gt;&lt;div&gt;Closure is used to build Gmail, maps,docs, sites, books, reader, blogger, .... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Challenges of JS:&lt;/div&gt;&lt;div&gt;No namespaces, no visibility controls, no type system, no static checking, no built-in support for templates&lt;/div&gt;&lt;div&gt;Closure tools solve these.&lt;/div&gt;&lt;div&gt;$$escapeHtml()   Stops js insertion. Templating does that automatically for you.&lt;/div&gt;&lt;div&gt;Closure templates include DOM, String and i18n utilities.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Chrome&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Webgl. Frames per second is the way they measure performance&lt;/div&gt;&lt;div&gt;open web &lt;/div&gt;&lt;div&gt;Chrome web store, angry birds and other apps can work offline&lt;/div&gt;&lt;div&gt;Angry birds is made with GWT and hosted on App Engine&lt;/div&gt;&lt;div&gt;Ro.me    "3 dreams of black"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Chromebook &lt;/b&gt;&lt;/div&gt;&lt;div&gt;instant on, 8 second boot, always connected. cr-48 pilot program resulted in the chromebook product.&lt;/div&gt;&lt;div&gt;Hardware software together will be leased:&lt;/div&gt;&lt;div&gt;For business: $28 per user per month&lt;/div&gt;&lt;div&gt;For education: $20 per user per month&lt;/div&gt;&lt;div&gt;Google.com/chromebook&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Hybrid App&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Native app loads the browser which runs the web page&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;     &lt;/span&gt;gives you compass, accelerometer, camera&lt;/div&gt;&lt;div&gt;But you can use the js api for the map features.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;T&lt;/span&gt;here's an article on this in code.google.com called&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;"hybrid android/js api"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Google Apps Script&lt;/b&gt; &lt;/div&gt;&lt;div&gt;It is a javascript engine in the cloud, lets you access various Google APIs in an easy way,&lt;/div&gt;&lt;div&gt;-access other apis like Twitter too&lt;/div&gt;&lt;div&gt;-no prob with authentication&lt;/div&gt;&lt;div&gt;-google's goal: anyone can script&lt;/div&gt;&lt;div&gt;-you can expose a script through a web app, when the user invokes a url.&lt;/div&gt;&lt;div&gt;-different triggers determine when a script gets executed.&lt;/div&gt;&lt;div&gt;-apps script has its own editor&lt;/div&gt;&lt;div&gt;To learn Google APIs:&lt;/div&gt;&lt;div&gt;code.google.com/apis/explorer&lt;/div&gt;&lt;div&gt;1) look at docs, 2) use api explorer, 3) experiment&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Maps API's&lt;/b&gt;&lt;/div&gt;&lt;div&gt;4 choices of API:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Google Maps API&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Google Maps on iPhone  (doesn't have much)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Google Maps on Android&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Static Maps API v3&lt;/div&gt;&lt;div&gt;   can be run by any browser, lightweight and fast, fewer features&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;   one long URL where you send in a bunch of parameters&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;New Google Consumer Products&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Market.android.com has movie rental now&lt;/div&gt;&lt;div&gt;Music beta stores your music in the cloud, so there is no synching&lt;/div&gt;&lt;div&gt;Caches music you recently play so you can listen offline&lt;/div&gt;&lt;div&gt;Add up to 20,000 songs you own to your library for free right now&lt;/div&gt;&lt;div&gt;Music.google.com&lt;/div&gt;&lt;div&gt;ADK and android open accessories is based on arduino    &lt;/div&gt;&lt;div&gt;Accessories.android.com&lt;/div&gt;&lt;div&gt;android at home  &lt;/div&gt;&lt;div&gt;Tungsten speakers that can play music directly from the cloud&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Miscellaneous&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Google fusion tables&lt;/div&gt;&lt;div&gt;AppLaud tutorial&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;mobiledevelopersolutions.com&lt;/div&gt;&lt;div&gt;Get Google maps on jquery mobile doesn't work very well,&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;need jquery google maps plugin&lt;/div&gt;&lt;div&gt;appmobi.com&lt;/div&gt;&lt;div&gt;"code search data api" looks for open source functions&lt;/div&gt;&lt;div&gt;Oauth 2 makes it so user doesn't have to login&lt;/div&gt;&lt;div&gt;REST 101 is a collection of resources&lt;/div&gt;&lt;div&gt;Mod_pagespeed to automatically make websites faster, download to apache server&lt;/div&gt;&lt;div&gt;Alexa 1000 is the list of top 1000 websites&lt;/div&gt;&lt;div&gt;androidacademy.com&lt;/div&gt;&lt;div&gt;pubsubhubub  -  server to server publish/subscribe protocol&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Programming well with others (Ben &amp;amp; Fitz show)&lt;/div&gt;&lt;div&gt;Think about how you work with a team, not how brilliant you are alone&lt;/div&gt;&lt;div&gt;High risk to working alone for too long becuase you might be on the wrong track&lt;/div&gt;&lt;div&gt;Leader instead of manager?&lt;/div&gt;&lt;div&gt;Dan Pink: autonomy, mastery, purpose&lt;/div&gt;&lt;div&gt;"Don't feed the energy creature" usenet addage meaning don't respond to flames.&lt;/div&gt;&lt;div&gt;Perception is 9/10 of the law&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Q &amp;amp; A:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Question&lt;/i&gt;: How does the data in a db (like Zappos) get indexed by Google?&lt;/div&gt;&lt;div&gt;&lt;i&gt;Answer&lt;/i&gt;: Google crawlers interact with the website to pull all the data out of it. Also, many websites provide an API to make this more possible.&lt;/div&gt;&lt;div&gt;Web developers should use microdata in their sites to provide Google the ability to find rich snippets from these sites to display as search results.&lt;/div&gt;&lt;div&gt;Sitemap also helps Google find rich snippets&lt;/div&gt;&lt;div&gt;Google.com/webmasters/tools&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Question&lt;/i&gt;:  Is there a rule of thumb about whether to use JS or CSS for behaviors and effects?&lt;/div&gt;&lt;div&gt;&lt;i&gt;Answer&lt;/i&gt;: User interaction -&amp;gt; js&lt;/div&gt;&lt;div&gt;Presentation-&amp;gt; css&lt;/div&gt;&lt;div&gt;Title attribute for tool tips -&amp;gt; html&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Question:&lt;/i&gt; Which is better: Eclipse or Chrome web tools?&lt;/div&gt;&lt;div&gt;&lt;i&gt;Answer&lt;/i&gt; : Chrome web inspector : temporary way to debug, not save.&lt;/div&gt;&lt;div&gt;Firefox has firebug that works as well as chrome.&lt;/div&gt;&lt;div&gt;But chrome has better security and updates.&lt;/div&gt;&lt;div&gt;Chromium&lt;/div&gt;&lt;div&gt;Eclipse is good as the editor&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-7688881403119647702?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/7688881403119647702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=7688881403119647702' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7688881403119647702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7688881403119647702'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/05/i-put-together-notes-from-various.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-VPbqR1Px6iU/Tc2fTkuA7bI/AAAAAAAAAQo/PSw9UK3ntHM/s72-c/bugdroid.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4928704379288931660</id><published>2011-04-27T16:09:00.000-07:00</published><updated>2011-04-27T16:15:39.508-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;22 April 2011&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;MPICT&lt;/span&gt;&lt;br /&gt;I now represent Foothill on the Regional Leadership Council at MPICT, the Mid Pacific Information and Communications Technology Center. MPICT is funded by the NSF to support ICT educators in this region of the country. MPICT holds conferences where we can learn new skills, connects us with industry, and conducts thorough surveys of the California job market for technicians in the ICT field.&lt;br /&gt;&lt;br /&gt;In a survey of the job boards for companies hiring ICT workers, MPICT found 2800 jobs postings with  1900 job descriptions. In other words, it is a chaotic system with no clear set of skills that a student could learn in order to get a certain job. Our advisor from IBM actually wants to use Watson to analyze these job postings!&lt;br /&gt;&lt;br /&gt;The other piece of interesting information is that statewide, community colleges transfer more students to the University of Phoenix then they do to California State Universities.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;26 April 2011&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HTML 5 and browsers: Community Night&lt;/span&gt;&lt;br /&gt;Hosted by Microsoft in Mountain View&lt;br /&gt;&lt;br /&gt;Doris Chen at Microsoft&lt;br /&gt;TEK Systems, Tab Atkins on Google Chrome team&lt;br /&gt;&lt;br /&gt;Interesting statistic: 58% of the average user's time spent on their desktop computer is spent in the browser.&lt;br /&gt;WebGL: A graphics library that extends the capability of JavaScript to allow it to generate interactive 3D graphics.&lt;br /&gt;Websocket : push/pull without full http requests, but you need a special server for it.&lt;br /&gt;Eventsource: similar to websocket, but doesn't require a special server.&lt;br /&gt;Animations must regularly yield to browser with settimeout(), but&lt;br /&gt;Requestanimationframe() does it for you – better.&lt;br /&gt;Elements can have draggable attributes set to true.&lt;br /&gt;Gradients : CSS feature that currenlty requires prefixes.&lt;br /&gt;Prefixes allows browsers to experiment with a new feature.&lt;br /&gt;Variables and mixins in css coming soon.&lt;br /&gt;&lt;br /&gt;Two events for learning HTML5 are coming up next month:&lt;br /&gt;1) sfbayacm.org for HTML 5 workshop&lt;br /&gt;2) web camp 20,21 May at MS. Http://bit.ly/gvpCmA.  HTML 5 and web development&lt;br /&gt;&lt;br /&gt;Giorgio Sardo from MS  IE 9&lt;br /&gt;Microsoft believes HTML5 is the future of the web&lt;br /&gt;"Expression web  super preview" renders a page on multiple browsers.&lt;br /&gt;SVG allows you to animate and so interact with video.&lt;br /&gt;HTML 5 is made up by W3C,  IETF,    Ecmascript.&lt;br /&gt;Html5 spec is at last call!&lt;br /&gt;IndexedDB  Instead of SQL&lt;br /&gt;Mediacaptureapi&lt;br /&gt;Video tag doesn't allow you to run it full screen NOW&lt;br /&gt;&lt;br /&gt;Websites to check out:&lt;br /&gt;Beautyoftheweb.com.   &lt;br /&gt;Xanthir.com/blog&lt;br /&gt;Oreilly.com/go/Ugebook&lt;br /&gt;IeTestdrive.com&lt;br /&gt;html5labs.com&lt;br /&gt;http://sound-weaver.appspot.com&lt;br /&gt;http://soundweaver.info/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4928704379288931660?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4928704379288931660/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4928704379288931660' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4928704379288931660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4928704379288931660'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/04/22-april-2011-mpict-i-now-represent.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-9169473576125102478</id><published>2011-04-09T21:53:00.000-07:00</published><updated>2011-06-24T10:39:14.043-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;1) Douglas Crockford&lt;/span&gt; on the future of JavaScript at Yahoo&lt;/p&gt;  &lt;p class="MsoNormal"&gt;29 March 2011&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The committee is working on EcmaScript 5, of which JavaScript will be a dialect.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;They are making JavaScript better, as opposed to making it more like Java.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;If you go with strict, your code will be better.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;New code in Ecmascript 5:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;If (Object.hasOwnProperty('create')){&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;        &lt;/span&gt;Object.create = function().&lt;span style=""&gt;  &lt;/span&gt;{&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A property is a named collection of attributes like readable&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Object.preventExtensions(object)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Strict mode&lt;span style=""&gt;  &lt;/span&gt;Pragma&lt;/p&gt;  &lt;p class="MsoNormal"&gt;'use strict';&lt;span style=""&gt;  &lt;/span&gt;as first line of a function&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;span style="font-weight: bold;"&gt;2) Sencha Touch&lt;/span&gt; bring your own laptop tutorial at Paypal.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;31 Mar 2011&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Sencha Touch is Ext.js 4 aimed for mobile.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Sencha is heavily object oriented.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;JS relies heavily on global variables, so you need your own namespace.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;They use "Ext." as their namespace.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;JSON P gets around domain name restrictions.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;All senchatouch apps start with onready() function or launch().&lt;/p&gt;  &lt;p class="MsoNormal"&gt;FireFox doesn't do HTML 5 well yet.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;PhoneGap will package your html5/css3 into a binary wrapper that makes it look like an app, so it can be sold in an app store. Then your app can use the camera and specific phone features that you can't use when you are running from the browser.&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;span style="font-weight: bold;"&gt;3) Peter-Paul Koch&lt;/span&gt; on the future of Mobile at PayPal/EBay  &lt;p class="MsoNormal"&gt;6 April 2011&lt;/p&gt;    &lt;p class="MsoNormal"&gt;Koch is Dutch and writes a useful blog at Quirksmode.org &lt;/p&gt;  &lt;p class="MsoNormal"&gt;The blog compares browsers for mobile.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ebay/PayPal did $2B on mobile devices alone in 2010 and expects that to double to $4B in 2011.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are 5 x number of mobile devices then desktops.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;People in developing countries can't afford desktops.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Design your sites for mobile first, to force you to decide what is important. Then the most important stuff will be featured on the desktop version and readily available on mobile.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are 20 mobile browsers, 8 are based on webkit, but they are all subtletly different. Opera Mini is highly recommended. I found that the iphone app store has opera mini, but he reviews say it needs to be updated so I didn't download it. Apparently this is just a browser that performs best on mobile devices.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Proxy browser : A specialized server that builds the html page and sends just an image of the page to the browser on the mobile device. This speeds performance, lowers bandwidth reqt's, but any client side interactivity requires a page reload.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Stats for top mobile browsers Globally in Q4 , 2010: Safari, Opera, Blackberry, Nokia, Android (in that order.)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Check your own country's stats.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Play with opera mini, which doesn't do client side interactivity.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Progressive enhancement: the site is enhanced as much as the browser allows. If something doesn't work on a browser, the UI should still be usable on it. Make sure that advanced CSS contains nothing that is vital. Same with JavaScript. Basic JS means dom manipulation, no Ajax, server requests may be slow, since your connectivity may be slow.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Device APIs are in native apps and not in web app. But security issues will prevent&lt;span style=""&gt;  &lt;/span&gt;your native apps from taking advantage of device API's, unless app stores screen apps for security breaches.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;FUTURE:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;JS events we need for mobile: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;online, offline&lt;/li&gt;&lt;li&gt;Orientation change &lt;/li&gt;&lt;li&gt;Shake&lt;/li&gt;&lt;li&gt;Camera open&lt;/li&gt;&lt;li&gt;Device move&lt;/li&gt;&lt;/ul&gt;          &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Future of mobile apps is in HTML 5 - but native apps have their place, especially in games.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Ideally, store the css and js on the device (local storage).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;If you can't do this, then you can still implement your app as a website.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;70% of world population has no credit cards, carriers can bill them though.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Peter-Paul told the story of the poor fisherman who needs access to prices in different ports so he knows which port to take his boat into to sell his fish.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;No wifi, but probably has weak cell signal. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;App dealer can give him an HTML 5 app over Bluetooth - share apps freely.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Data received in json over SMS . SMS is the only way to push data. Data could be sold. So the app will be free and the data will be sold.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are over 100 app stores right now, maybe 10 will survive: apple, google, specialized ones. Peter-Paul believes that app stores are not useful when they have so many apps in them, because you can't find what you need.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Fisherman must be literate.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-9169473576125102478?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/9169473576125102478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=9169473576125102478' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/9169473576125102478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/9169473576125102478'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/04/font-face-font-family-cambria-p.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-7279507104176061294</id><published>2011-02-18T17:01:00.000-08:00</published><updated>2011-02-18T17:02:43.111-08:00</updated><title type='text'></title><content type='html'>17 Feb 2011&lt;div&gt;President Obama has dinner with CEO's of Google, Facebook, Oracle, Twitter, NetFlix. &lt;/div&gt;&lt;div&gt;&lt;a href="http://www.flickr.com/photos/whitehouse/5455525432/in/photostream/"&gt;http://www.flickr.com/photos/whitehouse/5455525432/in/photostream/&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-7279507104176061294?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/7279507104176061294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=7279507104176061294' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7279507104176061294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7279507104176061294'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/02/17-feb-2011-president-obama-has-dinner.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3213394583021737270</id><published>2011-01-21T13:45:00.000-08:00</published><updated>2011-06-24T10:39:49.994-07:00</updated><title type='text'></title><content type='html'>&lt;p class="MsoNormal"&gt;Dr. Abraham Verghese&lt;/p&gt;  &lt;p class="MsoNormal"&gt;author of&lt;span style=""&gt;  &lt;/span&gt;"Cutting For Stone"&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Dr. Verghese visited our Palo Alto Book Club on 18 January 2011&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Here are some of the things that he had to say to us. I wrote them down in the first person, though I am paraphrasing:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;"Cutting for Stone" has now been on the NY Times best seller list for 51 weeks. I think that book clubs are terribly important for the success of a book. I have often fantasized about being a fly on the wall at a book club meeting while they discuss my book. I always think about the reader when I am writing.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A title should be a bit mysterious, so the reader can fill in the gaps. The story is really where the author's words meet the reader's mind. But long after I decided on the title for the book, I changed the name of the family in the book from Pickering to Stone, so the title would work even better.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;John Irving is a good friend of mine. Frank Conroy was my instructor at the Iowa Writers Workshop. "The Tin Drum" &lt;span style="color: black;"&gt;by Günter Grass (1959 novel) &lt;/span&gt;heavily influenced my writing work. "&lt;span style="color: black;"&gt;Of Human Bondage" by W. Somerset Maugham (1915 novel) first got me interested in writing about medicine.&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Nonfiction books sell 20 times more then fiction. But, as &lt;span style="color: black;"&gt;Dorothy Allison said, "&lt;i style=""&gt;Fiction is the great lie that&lt;/i&gt; &lt;i style=""&gt;tells the truth about how the world really lives."&lt;/i&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I got a story called "Lilacs" published in the New Yorker, and have gotten other work published there too. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;&lt;a href="http://www.abrahamverghese.com/images/NewYorker_Lilacs.pdf"&gt;&lt;span style="color: rgb(0, 0, 204);"&gt;http://www.abrahamverghese.com/images/NewYorker_Lilacs.pdf&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color: black;"&gt;(October 14, 1991 edition of the New Yorker.)&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The Prime Minister of Ethiopia was a classmate of mine and so the New Yorker sent met there to interview him. The New Yorker pays $1 per word.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I identify myself as a doctor, first and foremost. Whereas &lt;span style="color: black;"&gt;William Carlos Williams (1883 - 1963,  poet, writer, and physician) probably worked harder at being a writer than he did at being a physician. &lt;/span&gt;It is a great luxury to be able to have a nice life without having to make my living from writing. I think writers do well to have a day job because then the pressure is off to make money from it, and also they are in the big river of life, which informs their work.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The editor had a huge influence on the book. At some point the editor said that I had to have more of the story fleshed out, so I went to New York and spent a few days getting more of the details nailed down with her. Sometimes the editor would say that I had to take 150 pages out and use it in some other book, that it wasn't necessary in this book.&lt;/p&gt;  &lt;p class="MsoNormal"&gt; &lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I use my writing in the place where other Stanford faculty do research.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3213394583021737270?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3213394583021737270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3213394583021737270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3213394583021737270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3213394583021737270'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/01/font-face-font-family-cambria-p.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-6145032933930155697</id><published>2011-01-10T17:48:00.000-08:00</published><updated>2011-04-18T19:40:20.824-07:00</updated><title type='text'></title><content type='html'>MPICT -Mid Pacific Information &amp;amp; Communication Technologies&lt;br /&gt;Winter conference&lt;br /&gt;6, 7 January 2011&lt;br /&gt;City College of San Francisco&lt;br /&gt;&lt;br /&gt;This annual conference is meant to support professional development of community college faculty in technical fields. Funded by the National Science Foundation, it also helps us make connections with local industry. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I gave a talk on "Self Managing Student Teams." Here are some of the new things I learned from other people's talks:&lt;br /&gt;&lt;br /&gt;1) There is an organization called the fun theory:&lt;br /&gt;http://www.thefuntheory.com/&lt;br /&gt;and they have shown that if they make something fun for people then people will do it. The message is that if we can make learning fun then students will be more successful. For example, the more that we can incorporate games into our courses, the better.&lt;br /&gt;&lt;br /&gt;2) The latest news in artificial intelligence is that IBM has created a computer that plays jeopardy. It has already had a match with the world's top human jeopardy player but the results won't be known until the game airs on TV.&lt;br /&gt;&lt;br /&gt;3) A company called "square"&lt;br /&gt;https://squareup.com&lt;br /&gt;has created a very small cheap credit card reader that attaches to any iphone through the headphone jack. If you make an account with square, they will give you the gadget for free and you can use it to collect money from people's credit cards. Square collects a 3% service charge.&lt;br /&gt;&lt;br /&gt;4) simplyhired.com&lt;br /&gt;Combines all of the other jobs boards into one. It tells what jobs are most in demand. I would like to use this to help me decide which new skills I should study during my upcoming sabbatical.&lt;br /&gt;&lt;br /&gt;5) polycom for teleconferences&lt;br /&gt;This is an inexpensive speaker and microphone that would be useful for meetings that have participants participating from afar.&lt;br /&gt;&lt;br /&gt;6) Qwiki.com&lt;br /&gt;This is a new website that puts information together from many different sources to make a graphical, well rounded treatment of whatever subject you want. This is an improvement on wikipedia, because it gets some info from wikipedia but then joins it with info from other places.&lt;br /&gt;&lt;br /&gt;7) Motivation: mastery, autonomy, purpose&lt;br /&gt;I had heard about this before, but it is useful to review. People studying human motivation have found that people are not motivated by money, even in their work, but instead they are motivated by mastery, autonomy and purpose. That is, they are motivated to become good at something, they are motivated to work on their own without being micromanaged, and they are motivated if they feel they are doing something important (with purpose.) We can use this in our classrooms to motivate our students.&lt;br /&gt;&lt;br /&gt;8) Hitachi Starboard WT-1&lt;br /&gt;This is a tool used by my colleagues at Truckee Meadows. It allows the user to draw on electronic documents using a stylus. I could buy one for $100 on ebay, and use it to hopefully speed up my grading process. It is also preferred by students because they feel they are gettingmore personal feedback since it is in the instructor's handwriting instead of typing.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-6145032933930155697?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/6145032933930155697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=6145032933930155697' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/6145032933930155697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/6145032933930155697'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2011/01/mpict-winter-conference-6-7-january.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-8462617471943640449</id><published>2010-10-13T20:26:00.000-07:00</published><updated>2011-06-24T10:41:09.680-07:00</updated><title type='text'></title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;9, 10 October 2010&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;CODE CAMP&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This is the 10&lt;sup&gt;th&lt;/sup&gt; annual free developer conference. As usual, I learned a TON!&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;a href="http://www.siliconvalley-codecamp.com/"&gt;http://www.siliconvalley-codecamp.com/&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;1) Android Development&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;by Lance Bullock, Falafel Software&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Use Eclipse 3.4 or 3.5, but not 3.6 for dev environment&lt;/p&gt;  &lt;p class="MsoNormal"&gt;From Google download Android SDK and AVD Manager&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Start emulator and leave it running.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In the manifest: set debuggable to true.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In layout: use device independent pixels, you can assign clickhandlers in layout xml.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Activity is focussed user action, like edit a contact. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;Activity usually is one screen, has its own lifecycle.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;An activity extends class Activity.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;An activity has a lifecycle, and so defines onPause(), onResume(), etc.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;An intent says "I want to respond to something."&lt;/p&gt;  &lt;p class="MsoNormal"&gt;A Task is a stack of activities, but it is virtual.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;To respond to an intent, make a new instance of an activity.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Back button kills an instance, pops off stack.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Home button puts task in background.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Launching another app puts your activity on hold.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Intents are the main signalling mechanism.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;2) Talk with Crock&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;by Douglas Crockford&lt;/p&gt;  &lt;p class="MsoNormal"&gt;YUI3, node.js&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When asked what a job interview with himself would be like, he said he is looking for programmers who can write English as well as JavaScript.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Crock believes that HTML 5.0 should stop development because XSS is such a bad security problem they need to fix that first.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I got ideas from&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;him for my teaching:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;• I should issue a warning to students : "Warning! My feedback will hurt your feelings."&lt;/p&gt;  &lt;p class="MsoNormal"&gt;• I should require that students use jslint&lt;/p&gt;  &lt;p class="MsoNormal"&gt;• I need to modify all my code examples to put open curly brace at end of previous line, to avoid bug from semicolon insertion.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;3) JQuery Makes Writing JavaScript Fun Again&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;by Doris Chen, Developer Evangelist at Microsoft&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There are many different toolkits for implementing interactive websites today. The following statistics show that right now, JQuery is by far the most popular:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;a href="http://trends.builtwith.com/javascript/jquery"&gt;http://trends.builtwith.com/javascript/jquery&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;Her slides are here:&lt;/p&gt;&lt;p class="MsoNormal"&gt;http://www.slideshare.net/doris1/j-query-dorischenmeetuphtml5&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;4) Mobile HTML 5.0&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;by Michael Galpin, eBay&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There aren't too many mozilla browsers out there, but ehre are a lot of webkit browsers on mobile devices. I think that's why we always use Safari as our dev browser.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Using just JavaScript, CSS and HTML 5.0, you get the following features:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-viewport sizes &lt;/p&gt;  &lt;p class="MsoNormal"&gt;-UI for mobile&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-geolocation&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-DOM storage but no SQL&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-webworkers (these are threads, but aren't in iPhone yet.)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-websocket&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-canvas&lt;/p&gt;  &lt;p class="MsoNormal"&gt;-css 3.0&lt;/p&gt;  &lt;p class="MsoNormal"&gt;You have an application cache, which has a different mime type. It's better if the app stays on the phone and the servers only ever return data to the phone.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When eBay started developing a mobile version of its website, it started from scratch, i.e. the mobile web app shares no code with the non-mobile web app.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;5) Google API's&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Google Cloud Technologies: Google Storage, Prediction, BigQuery&lt;/p&gt;  &lt;p class="MsoNormal"&gt;code.google.com/apis/storage&lt;/p&gt;  &lt;p class="MsoNormal"&gt;code.google.com/apis/predict&lt;/p&gt;  &lt;p class="MsoNormal"&gt;code.google.com/apis/bigquery&lt;/p&gt;  &lt;p class="MsoNormal"&gt;gsutil&lt;/p&gt;  &lt;p class="MsoNormal"&gt;100 GB – could use for backup!&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Prediction: Uses google storage to upload training data, then makes predictions based on that data.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;BigQuery: Does fast SQl queries against large amounts of data.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Google TV: platform, not a device. But does that mean that it can run on a PC or Mac?&lt;/p&gt;  &lt;p class="MsoNormal"&gt;1.5 B people use web, ¾ of all households&lt;/p&gt;  &lt;p class="MsoNormal"&gt;see google.com/tv&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;5 October 2010&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;"Building Mobile Apps with JQuery"&lt;/p&gt;  &lt;p class="MsoNormal"&gt;presentation by Sidney Maestre at the creativesuite meetup&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;If you want to develop an application for a mobile phone, you have to choose between iPhone or Android. There is no easy way to "port" from one phone platform to another, and either platform is pretty difficult to program for.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;But there is another way, and that is to develop a website that presents a special user interface when a phone accesses its URL. This special UI has a much smaller screen, and reacts to the user's touch. This website is implemented with the traditional web development tools of HTML, CSS and JavaScript. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;When you develop this way for the phone, you may not have access to some native functionality of the telephone like camera. accelerometer, geolocation, and you may have difficulty selling through the app store.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Now there are a few toolkits that make this type of mobile web development easier by providing libraries of code. Here are some examples:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;appMobi, PhoneGap, JQTouch (related to JQuery), Sencha Touch, Titanium.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Some of these create native apps, which will give your app more access to the functionality of the phone.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;There is also a new meetup group around this very topic:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;"Bay Area Mobile Meetup", which covers non-native mobile development only.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;The talk I attended on 5 October was held at Adobe in San Jose and usually meets around topics of interest to Adobe CreativeSuite.&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-8462617471943640449?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/8462617471943640449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=8462617471943640449' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8462617471943640449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8462617471943640449'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2010/10/9-10-october-2010-code-camp-this-is-10.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-8229751895799691420</id><published>2010-10-04T13:21:00.000-07:00</published><updated>2010-10-04T13:25:41.704-07:00</updated><title type='text'></title><content type='html'>&lt;div&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;Google Apps Script Hackathon&lt;/b&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;/b&gt;&lt;a href="http://sites.google.com/site/appsscripthackathonmtv/"&gt;http://sites.google.com/site/appsscripthackathonmtv/&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;I was fortunate to have my colleague Jane Ostrander attend this event with me, at the Googleplex on Thu, 23 Sept, 2:00 pm until 8:00 pm.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Most people know about Google Docs by now,&lt;span style="mso-spacerun: yes"&gt;  &lt;/span&gt;the online word processing and spreadsheet applications. Google Docs is competing with Microsoft Office for everyday office tasks, since it allows you to store all of your documents in the cloud and share access to them with others.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;What is fairly new is the ability to write scripts to connect different documents and GMail and execute tasks automatically. The scripts must be written in JavaScript, and the event that triggers the running of the script can come from the Spreadsheet tool of Google Docs.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;For example, once a user modifies a particular spreadsheet, your script could run automatically to update another spreadsheet or record something in a word processing document.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Alternatively, you can start the script running manually. In order to perform an electronic mail merge, you can program the script to take names and addresses from a spreadsheet and insert them into an email that will be sent to each person on your spreadsheet.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;This was called a "hackathon" because we brought our laptops and worked on projects there, with members of the Apps Script development team walking around to help us. There were many participants who then came up and demoed their small projects in front of the group. That is also why it lasted 6 hours, because people were doing real work there.&lt;/p&gt;&lt;p class="MsoNormal"&gt;Jane had the great idea of asking the Apps Script team to present a workshop to our Pacific Region Learning Summit in Hawaii in May. This way other instructors can learn how to use it for their work and to teach their students how to write scripts as a job skill.&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-8229751895799691420?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/8229751895799691420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=8229751895799691420' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8229751895799691420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8229751895799691420'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2010/10/google-apps-script-hackathon-httpsites.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-104541328271354714</id><published>2010-07-08T20:58:00.000-07:00</published><updated>2010-07-08T21:01:48.442-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;12 May 2010&lt;/span&gt;&lt;br /&gt;"Bay Area Java User Group Roundup"&lt;br /&gt;Oracle hosted this gathering of all the Java users' groups in the Bay Area. Oracle pledged their support for the Java language and its thriving community of users. This is important, since SUN Microsystems was the steward of the Java language, until Oracle bought SUN Microsystems recently. Now we must rely on Oracle to keep Java current and open.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;18-20 May 2010&lt;/span&gt;&lt;br /&gt;"Google IO Conference"&lt;br /&gt;at Moscone Center San Francisco&lt;br /&gt;Caching of Google Maps data on your phone is not allowed. I did a little research and found that IPhone has an app called "offmaps" and Android has an app called "mapdroyd" that do make maps available for you when you are offline. Android does have gps without a cell plan.&lt;br /&gt;&lt;br /&gt;Keynote introduced Google TV. Eric Schmidt brought onto the stage the CEOs of: Sony, Best Buy, Intel, Dish Network, Adobe, Logitch, NBA (basketball!) Google TV will be selling in time for Christmas 2010.&lt;br /&gt;&lt;br /&gt;Bootcamp: For newbies to Android programming.&lt;br /&gt;-We downloaded code with parts commented out and they led us through uncommenting the code, which forced us to read the code.&lt;br /&gt;-Every Android app has androidmanifest.xml, which defines screens, services, events and content.&lt;br /&gt;-Intents bind components. Apps communicate with each other by providing and consuming intents.&lt;br /&gt;-Each phone also has a location manager and an accelerometer.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;24-28 May 2010&lt;/span&gt;&lt;br /&gt;"Pacific Region Learning Summit"&lt;br /&gt;at Leeward Community College, Pearl City, HI&lt;br /&gt;http://sites.google.com/a/hawaii.edu/prls2010/&lt;br /&gt;I was the lead instructor for a 4 ½ day workshop on creating and using scenarios.&lt;br /&gt;&lt;br /&gt;We had a guest instructor named Caron Newman from Oracle come in to talk about facilitating teams, especially online teams.  I would like to record here what I learned from her, in the hopes that I implement it in my classes next quarter:&lt;br /&gt;-&gt; Hold a team kick-off planning meeting to decide on:&lt;br /&gt;      communication, roles, timeline, tools, skills analysis, reporting, escalation strategy, where/when to meet, agenda, time limit.&lt;br /&gt;-&gt; Enforce a 2 minute rule where noone can talk for more then 2 minutes at a time.&lt;br /&gt;-&gt; Have the team make a rubric and then evaluate each other based on it&lt;br /&gt;-&gt; Roles: leader, time keeper, recorder, presentation generator, presenter, contributor, researcher&lt;br /&gt;-&gt; Jing is a tool that lets you record what you are doing on your computer and share it with others. http://www.jingproject.com/&lt;br /&gt;&lt;br /&gt;Leanne Chun also had useful tips about facilitating teams in the classroom:&lt;br /&gt;-&gt; Give 10% of a team project grade based on individual participation.&lt;br /&gt;-&gt; Team building exercises contribute to team success.&lt;br /&gt;-&gt; Assign roles to team members.&lt;br /&gt;-&gt; Address team problems early.&lt;br /&gt;-&gt; Instructor should praise the team in public and criticize any individual in private.&lt;br /&gt;Instructor must be facilitator, bundary setter, traffc cop and chief cheerleader.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;21-25 June 2010&lt;/span&gt;&lt;br /&gt;"MPICT Professional Development Week"&lt;br /&gt;at City College of San Francisco&lt;br /&gt;http://www.appinventor.org/&lt;br /&gt;David Wolber, professor of computer science at USF, taught a 4 ½ day workshop on AppInventor, a great development tool for making apps for the Android smartphones. Made at MIT and then Google by a group headed by Hal Ableson,  David taught us how to use AppInventor to teach beginning programming students.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;7 July 2010&lt;/span&gt;&lt;br /&gt;"HTML 5"&lt;br /&gt;Hosted by The Silicon Valley Google Technology User Group (SV GTUG)&lt;br /&gt;at the Googleplex&lt;br /&gt;&lt;br /&gt;Seth Ladd:    http://www.HTML5rocks.com&lt;br /&gt;This new spec has both bitmap and scalable vector graphics.&lt;br /&gt;Also: local storage, google fonts api, web sql database.&lt;br /&gt;Canvas and video work together, and work with all other tags.&lt;br /&gt;Find compatibility tables at: http://caniuse.com/&lt;br /&gt;HTML 5 also has a better JavaScript API.&lt;br /&gt;&lt;br /&gt;Nathan Naze:   http://code.google.com/p/closure-library&lt;br /&gt;This is the second time I have heard Naze speak about the Closure Library (see 14 April 2010 in this blog). He had a slightly different treatment here.&lt;br /&gt;The closure library is for large teams of programmers who are working collaboratively. It helps with type checking, unit testing, code reuse, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-104541328271354714?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/104541328271354714/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=104541328271354714' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/104541328271354714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/104541328271354714'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2010/07/12-may-2010-bay-area-java-user-group.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-2640459695139212330</id><published>2010-04-21T17:05:00.000-07:00</published><updated>2010-04-21T17:06:19.601-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;7 April 2010&lt;/span&gt;&lt;br /&gt;“Google Apps Marketplace”&lt;br /&gt;hosted by the Google Technology User’s Group at Google in Mountain View&lt;br /&gt;http://www.google.com/enterprise/marketplace&lt;br /&gt;&lt;br /&gt;As you may know, Google has a number of web applications that are free to use. These include Google docs, Gmail, Google Sites, Calendar, Contacts, et al. Google has made it possible for software developers to create applications on top of these web applications. They have done this by creating an “API” , or application programmer’s interface, to the functionality in their web applications.&lt;br /&gt;&lt;br /&gt;Some software developers have therefore created vertical applications for specific uses, applications that apply the general features in docs, mail, calendar, etc to specific workflow problems. Since these Google web applications allow collaboration, the new third party vertical applications feature collaboration amongst many users.&lt;br /&gt;&lt;br /&gt;These new apps are not required to be written in a specific language, and they do not have to be hosted in any particular place. The only requirement is that the new apps use OpenID and OpenAuth, so that the user only has to login once to run any of the apps.&lt;br /&gt;&lt;br /&gt;If you create a Google App, then you can put it onto the Google Apps Marketplace and people will buy it. The Marketplace only started 3 months ago (Nov 2009), so noone has made any money there yet. But apparently the only marketing a developer needs to do is to put their app on the Marketplace website, and they need no sales people whatsoever.&lt;br /&gt;&lt;br /&gt;This meeting showcased a number of Google Apps Developers demonstrating their products.  They looked pretty useful and claimed development times of less then 6 months. They said that they let customers download and use their products for up to 2 users for free. But since collaboration is such a big benefit of theses programs, the users pay around $20 per month per additional user. Google takes 20% of the revenue.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;14 April 2010&lt;/span&gt;&lt;br /&gt;“Closure Library”&lt;br /&gt;hosted by ACCU at Symantec in Mountain View&lt;br /&gt;http://accu.org/index.php/accu_branches/accu_usa/next&lt;br /&gt;&lt;br /&gt;“Closure library” is a JavaScript library created by Google to make many of its web applications. In fact, the Closure library was used to create Mail, Docs, Sites, Calendar, Picasa, Books, and even this site (Blogger). You can find more about it here:&lt;br /&gt;http://code.google.com/closure/library/&lt;br /&gt;Nathan Naze was one of the authors of the library, and he presented to us. He helped start the Closure library as his 20% time project - Google allows every engineer to work 20% of their time on their own projects.&lt;br /&gt;&lt;br /&gt;The library includes a “compiler” that is a super-minifier for your code, and enforces good programming practices. In particular, the “compiler” enforces types, constructors, parameters, etc. Comments are written in JSDOC style. This type of enforcement is especially valuable in the JavaScript language.&lt;br /&gt;&lt;br /&gt;Dependency, that is code that depends on other code, is also a big problem with JavaScript, and it appears to be solved with this library. Collaboration and code reuse are big benefits of this.&lt;br /&gt;&lt;br /&gt;Google just recently made this library open source. The code was “thrown over the wall” in Nov 2009. The codebase contains all the useual widgets, including a great editor.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-2640459695139212330?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/2640459695139212330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=2640459695139212330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2640459695139212330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2640459695139212330'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2010/04/7-april-2010-google-apps-marketplace.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-7086577731803744268</id><published>2010-03-24T14:37:00.002-07:00</published><updated>2010-03-24T14:38:09.464-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;3 March 2010, JavaScript talk at  Yahoo by Douglas Crockford&lt;br /&gt;&lt;/span&gt;Crockford is the JavaScript guru, his books show programmers how to write the language in a way that is readable. He said that “Ajax is the world’s dominant application platform.”&lt;br /&gt;&lt;br /&gt;He said that “HTML 5 is a big step in the wrong direction, because it is just a lot more DOM.” But he also admits to making bad forecasts in the past.&lt;br /&gt;&lt;br /&gt;One thing that was new to me, what the fact that getAttribute() and setAttribute() were a new school way of doing things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-7086577731803744268?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/7086577731803744268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=7086577731803744268' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7086577731803744268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7086577731803744268'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2010/03/3-march-2010-javascript-talk-at-yahoo.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-8291706298466617116</id><published>2010-03-24T14:37:00.001-07:00</published><updated>2010-03-24T14:37:38.710-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;2 March 2010, Enterprise Software Development Conference, San Mateo&lt;br /&gt;&lt;/span&gt;This is a new, small conference that appears to be replacing the Software Development Expo, which I usually attend. The expo floor was interesting, because all of the tool makers were talking about the agile development process for software development. Hopefully the waterfall process is GONE!&lt;br /&gt;&lt;br /&gt;The keynote speaker was really the one that brought me out. This was Kent Beck, who wrote thae book on “Extreme Programming”, a precursor to “Agile.” Kent was talking about something different, about how humans do design.&lt;br /&gt;&lt;br /&gt;He refers to something called “responsive design”, which is between predictive and reactive. He defines design as “beneficially relating elements.” He lists four strategies for designing in a new feature to software:&lt;br /&gt;1) a. if you can see the solution, then you can just take the leap and implement it. This is easiest.&lt;br /&gt;1) b. If you can see the solution, you might want to implement the solutin in a parallel product (codebase) , and support two designs at the same time for a while.&lt;br /&gt;2) a. If you can’t see the solution, then you might want to make a tool that will make experimentation with different solutions easier. This is called “stepping stone.”&lt;br /&gt;2) b. If you can’t see the solution, you might want to simplify the problem, deliberately ignore a lot of requirements.&lt;br /&gt;&lt;br /&gt;Kent was also talking about electricity. He said that over the lifetime of a server, you’ll spend as much $$ on electricity as you did on buying the server. The cost of computing is becoming significant again. Cragslist measures page views per kilowatt hour of electricity.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-8291706298466617116?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/8291706298466617116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=8291706298466617116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8291706298466617116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8291706298466617116'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2010/03/2-march-2010-enterprise-software.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4539755559804303619</id><published>2010-03-24T14:36:00.000-07:00</published><updated>2010-03-24T14:37:10.196-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;12 Feb 2010, MacWorld Expo, San Francisco&lt;br /&gt;&lt;/span&gt;Just an hour always proves to be valuable at this USERS conference. This time I was focussed on my home entertainment system, which is a Mac Mini connected to my stereo.&lt;br /&gt;&lt;br /&gt;1) Radioshift&lt;br /&gt;This allows me to stream many radio stations from out of town. I can now listen to  KPIG from Santa Cruz and KCRW from Santa Monica. I had to pay $25, which was a show special price.&lt;br /&gt;&lt;br /&gt;2) Airfoil&lt;br /&gt;This allows me to send the audio output from my Mac to any of the airport-enabled speakers in my house. Itunes will let me choose which airport-enabled speakers to send my audio output to; but without Airfoil, I can’t  send my browser’s audio (e.g. pandora.com) or other apps (e.g. Radioshift) to other airport-enabled speakers in my house.&lt;br /&gt;&lt;br /&gt;3) Apple TV vs. Mac Mini&lt;br /&gt;I happened upon a demo of these two computer solutions to the problem of watching tv without having an extra box in the house. It turns out that Apple TV ($200) can’t really stream anything except videos you buy from Itunes. MacMini ($600) is much better but more expensive. My old Mac Mini is too old to stream Netflix or the Olympics, since they both use SilverLight. A new Mac Mini would be perfect, but not worth $600!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4539755559804303619?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4539755559804303619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4539755559804303619' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4539755559804303619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4539755559804303619'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2010/03/12-feb-2010-macworld-expo-san-francisco.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-8429147443993914547</id><published>2009-10-09T16:08:00.000-07:00</published><updated>2009-10-09T16:11:19.924-07:00</updated><title type='text'></title><content type='html'>Code Camp - 3,4 October 2009&lt;br /&gt;4th annual at Foothill College&lt;br /&gt;http://www.siliconvalley-codecamp.com&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;“Agile Development Process”&lt;/span&gt; with Chris Sims&lt;br /&gt;&lt;br /&gt;At the beginning, write down the goal of the software development project; get agreement from the customer on what that goal is.&lt;br /&gt;&lt;br /&gt;Then write a story – instead of requirements. Have a conversation about the story. Write acceptance tests cooperatively. Structure your conversation around the acceptance tests. (Developers will need to do unit tests also, of course.)&lt;br /&gt;&lt;br /&gt;Iteration: The time it takes to deliver a small amount of software. &lt;br /&gt;Daily Morning Standup: What did I get done yesterday? What do I expect to get done today? What is standing in my way?&lt;br /&gt;Feedback: Attempts to surface issue – from the inside and the outside.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;“Code Excellence for the Average Programmer”&lt;/span&gt; with Llewellyn Falco and Woody Zuill&lt;br /&gt;&lt;br /&gt;These two engineers showed how quickly one can take a program with a lot of poor coding in it and remove clutter, complexity, cleverness and duplication. Notice that they said remove “cleverness”, since you want your code to be as simple and understandable as possible.&lt;br /&gt;&lt;br /&gt;After every tiny improvement they made to the code, they ran a series of tests that immediately showed any errors that may have been introduced. They said you should not try to debug (existing bugs) at the same time as you are improving your code. “Never be more than two minutes away from checking in and going home.”&lt;br /&gt;&lt;br /&gt;They used a lot of editor shortcuts to rename variables, extract methods, reformat code, extract a constant, etc.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;“Google Software Tools”&lt;/span&gt; with Kevin Nilson&lt;br /&gt;&lt;br /&gt;GWT and App Engine work well together.&lt;br /&gt;You need to know Swing in order to learn GWT.&lt;br /&gt;Picasa API’s are difficult.&lt;br /&gt;KML is a mapping format in XML.&lt;br /&gt;You can load a KML file into Google Maps.&lt;br /&gt;To find latlng numbers: Go to Google Maps, Center on the spot you want, click on “link” and then find the latlng number in the resulting link.&lt;br /&gt;Another Google API uses lnglat, so be careful on the order of coordinates.&lt;br /&gt;Google Data Playground is helpful for learning about other Google API’s.&lt;br /&gt;Nilson teaches at CSM, and I may want to take his course during my sabbatical.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;“Networking for Developers”&lt;/span&gt; with Steve Evans&lt;br /&gt;&lt;br /&gt;Different protocols are served out of different ports on our computers:&lt;br /&gt;http: 80        (web server)&lt;br /&gt;smtp: 25      (email)&lt;br /&gt;https: 443&lt;br /&gt;DNS: 53&lt;br /&gt;&lt;br /&gt;If a web page doesn’t load, you can debug by checking the following possible issues:&lt;br /&gt;1) name server resolution&lt;br /&gt;2) port connection&lt;br /&gt;telnet hostname  portnumber&lt;br /&gt;3) packet trace with wireshark&lt;br /&gt;&lt;br /&gt;“Code Excellence for the Average Programmer” with Llewellyn Falco and Woody Zuill&lt;br /&gt;These two engineers showed how quickly one can take a program with a lot of poor coding in it and remove clutter, complexity, cleverness and duplication. Notice that they said remove “cleverness”, since you want your code to be as simple and understandable as possible.&lt;br /&gt;&lt;br /&gt;After every tiny improvement they made to the code, they ran a series of tests that immediately showed any errors that may have been introduced. They said you should not try to debug (existing bugs) at the same time as you are improving your code. “Never be more than two minutes away from checking in and going home.”&lt;br /&gt;&lt;br /&gt;They used a lot of editor shortcuts to rename variables, extract methods, reformat code, extract a constant, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-8429147443993914547?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/8429147443993914547/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=8429147443993914547' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8429147443993914547'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8429147443993914547'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/10/code-camp-2009-4th-annual-at-foothill.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3904369485835570363</id><published>2009-09-28T13:50:00.000-07:00</published><updated>2009-09-28T13:51:03.972-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;Software Developers Forum&lt;/span&gt;&lt;br /&gt;23 Sept 2009&lt;br /&gt;Cubberly Community Center, Palo Alto&lt;br /&gt;&lt;br /&gt;Neal Goldstein is the author of “IPhone Application Development for Dummies”&lt;br /&gt;I have found that these “for Dummies”  books are not correct nor useful, but Goldstein seemed to know his stuff and explain it well.&lt;br /&gt;&lt;br /&gt;I teach and recommend the use of Google App Engine, a free service provided to web application developers. Goldstein expressed extreme dissatisfaction with Google’s service level agreement provided for App Engine, which may keep businesses from making use of App Engine.&lt;br /&gt;&lt;br /&gt;He had some useful ways of explaining some of the concepts that I teach:&lt;br /&gt;&lt;br /&gt;1) Frameworks: “You don’t use a framwork, it uses you.” This is true because as developers, we must fit our work into an existing framework, in exactly the position that the framework expects it to go. So in order to take advantage of a framework, we have to learn its structure and expectations and adhere to them precisely.&lt;br /&gt;&lt;br /&gt;2) Model/View/Controller: The analogy goes like this&lt;br /&gt;TV screen is the View, it doesn’t care what is being sent to it, it just puts it on the screen.&lt;br /&gt;Cable box or antenna is the Controller, it just sends the programming to the TV.&lt;br /&gt;The program that you watch is the Model, it contains the content you asked for.&lt;br /&gt;&lt;br /&gt;3) Subclassing: To subclass another class is like taking a deuce coupe and turning it into a hot rod, except you still  have the deuce coups to use when you want to.&lt;br /&gt;&lt;br /&gt;For me to study:&lt;br /&gt;Delegation in OOP – Goldstein says it is like composition, though I think it is more like Interface. He says it is probably more important then inheritance.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3904369485835570363?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3904369485835570363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3904369485835570363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3904369485835570363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3904369485835570363'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/09/software-developers-forum-23-sept-2009.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-7251657220977280013</id><published>2009-09-17T20:40:00.000-07:00</published><updated>2009-09-17T20:43:15.278-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;Silicon Valley Web Developer Java Users Group&lt;/span&gt;&lt;br /&gt;16 September 2009, Googleplex&lt;br /&gt;&lt;br /&gt;Socialwok is a social networking site, FaceBook for people who are currently work together. People from SocialWok told us about how they made their product, the largest application running on Google’s App Engine with Java.&lt;br /&gt;&lt;br /&gt;SocialWok was able to develop the whole app in Java, the back end running on App Engine and the front end Java code they compiled into JavaScript using Google Web Toolkit. They said it was a big advantage being able to use just one language for an entire Web application. Starting development in May, their four engineers had an impressive array of features running now, only 4 months later. &lt;br /&gt;&lt;br /&gt;Then Max Ross talked about “The Softer Side of Schemas”&lt;br /&gt;He was referring to Google’s Datastore, which is NOT relational. &lt;br /&gt;Google has made up their own database model, where the constraints to the data are enforced purely in the application layer. Max said that the data model is hierarchical, but I’m sure it is more then that. I will have to study it further!&lt;br /&gt;&lt;br /&gt;To study:&lt;br /&gt;Google Data API’s (GDATA)&lt;br /&gt;JDO and JPA&lt;br /&gt;&lt;br /&gt;To test:&lt;br /&gt;Editing a Google doc while offline. This should show me how Google Gears works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-7251657220977280013?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/7251657220977280013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=7251657220977280013' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7251657220977280013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7251657220977280013'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/09/silicon-valley-web-developer-java-users.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-8904624125479600363</id><published>2009-08-18T14:27:00.000-07:00</published><updated>2009-08-18T14:43:19.169-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight:bold;"&gt;OSCON Open Source Convention&lt;/span&gt;&lt;br /&gt;22 July 2009, San Jose, CA&lt;br /&gt;http://en.oreilly.com/oscon2009&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Amazon&lt;/span&gt; was looking for technicians to test out the Kindle from different parts of the country. They are located in Seattle, but similar jobs should be available around here.&lt;br /&gt;amazon.com/careers&lt;br /&gt;&lt;br /&gt;There was much talk about the government making their &lt;span style="font-weight:bold;"&gt;databases&lt;/span&gt; available to the public. &lt;br /&gt;Federal Governemnt:   data.gov&lt;br /&gt;California state government:   ca.gov/data&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;opensource.gov&lt;/span&gt;&lt;br /&gt;A new non governmental organization established to promote open source software and data development:&lt;br /&gt;     opensourceforamerica.org&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Gov 2.0&lt;/span&gt; is a conference set for Sept 2009 &lt;br /&gt;Objective is to reshape government using the collaboration tools of Web 2.0&lt;br /&gt;All the tech leaders of the Obama administration will be there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-8904624125479600363?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/8904624125479600363/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=8904624125479600363' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8904624125479600363'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/8904624125479600363'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/08/oscon-open-source-convention-22-july.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3183041051210400917</id><published>2009-08-14T17:28:00.000-07:00</published><updated>2009-08-14T18:28:27.838-07:00</updated><title type='text'></title><content type='html'>I made a short (10 minute) documentary to help students get technician jobs. You can see it on youtube:&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/A42Tab_bu6A&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/A42Tab_bu6A&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3183041051210400917?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3183041051210400917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3183041051210400917' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3183041051210400917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3183041051210400917'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/08/i-made-short-10-minute-documentary-to.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-7129888083596037670</id><published>2009-06-01T14:22:00.000-07:00</published><updated>2009-06-01T16:24:33.147-07:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_G2SjIWZk6Eg/SiRNfQuj4EI/AAAAAAAAAJI/VrMAJ0xLFSU/s1600-h/solveig.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://3.bp.blogspot.com/_G2SjIWZk6Eg/SiRNfQuj4EI/AAAAAAAAAJI/VrMAJ0xLFSU/s400/solveig.JPG" alt="" id="BLOGGER_PHOTO_ID_5342480257429790786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_G2SjIWZk6Eg/SiRNFnIbE1I/AAAAAAAAAJA/oXRPpHx0mGc/s1600-h/Giselle.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_G2SjIWZk6Eg/SiRNFnIbE1I/AAAAAAAAAJA/oXRPpHx0mGc/s400/Giselle.JPG" alt="" id="BLOGGER_PHOTO_ID_5342479816767247186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Google I/O Developers’ Conference&lt;br /&gt;27, 28 May 2009 – San Francisco&lt;br /&gt;&lt;br /&gt;Pictured here is&lt;br /&gt;1) Former student Solveig Kjartansdottir with Elaine, and&lt;br /&gt;2) Elaine with current student Gisell Youn&lt;br /&gt;&lt;br /&gt;This is the third annual conference for web application developers who want to use Google's free software tools that they make available to us. People travel from all over the world to attend and they weren't let down, because Google decided to give every registered attendee a free unlocked Android phone with one month's service from T-Mobile. The mood was one of collaboration and excitement, with approximately 1% of 5000 people attending were women.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Keynotes&lt;/span&gt;&lt;br /&gt;http://htmlfive.appspot.com/&lt;br /&gt;New additions to HTML in HTML 5:&lt;br /&gt;-canvas tag&lt;br /&gt;Until now, one could not even draw a diagonal line on the browser window. Apple made something like this for their widgets, and were far ahead of the game in making the browser be the desktop.&lt;br /&gt;-Javascript executes MUCH faster&lt;br /&gt;-Video tag so we can play videos without youtube&lt;br /&gt;-geolocation so we can see where the client is&lt;br /&gt;-ability to work offline&lt;br /&gt;-running scripts in the background, i.e. worker threads&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Wave&lt;/span&gt; was announced, an online communication and collaboration tool.&lt;br /&gt;Wave is written in GWT, and the performance is extremely impressive!&lt;br /&gt;You can write extensions to it, of course...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NewsBits&lt;/span&gt;&lt;br /&gt;Google services 4 billion API calls per day&lt;br /&gt;Google Web Elements allows you to copy and paste Google gadgets into your web page: http://www.google.com/webelements/&lt;br /&gt;Webkit is an open source application framework upon which you can build a browser.&lt;br /&gt;Make your web apps faster by concatenating and compressing your JS and CSS files.&lt;br /&gt;If you can reduce latency by even 1 second, you will increase your adoption significantly.&lt;br /&gt;Future: Browser access to client info will make browsers get security right.&lt;br /&gt;google.loader.ClientLocation is a class that will tell the browser where it is located. I think it works today.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;To watch:&lt;/span&gt;&lt;br /&gt;• “Myth of the Genius Programmer”  was filled so I couldn’t see it, but I must look for the video!&lt;br /&gt;• thesocialweb.tv&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sabbatical Ideas&lt;/span&gt;&lt;br /&gt;Attend Google campfire talks.&lt;br /&gt;Attend Google Technology Users Group meeting.&lt;br /&gt;Become a Google Qualified Developer: http://code.google.com/qualify&lt;br /&gt;Learn OpenSocial, OpenID, OpenAuth.&lt;br /&gt;Write new Foothill COIN classes that include all these technologies and more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-7129888083596037670?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/7129888083596037670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=7129888083596037670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7129888083596037670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/7129888083596037670'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/06/google-io-developers-conference-27-28.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_G2SjIWZk6Eg/SiRNfQuj4EI/AAAAAAAAAJI/VrMAJ0xLFSU/s72-c/solveig.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3815176103709050893</id><published>2009-05-18T15:13:00.000-07:00</published><updated>2009-05-18T15:25:01.049-07:00</updated><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_G2SjIWZk6Eg/ShHgMENGvYI/AAAAAAAAAI4/UNA430Z4rd8/s1600-h/map.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 399px; height: 400px;" src="http://2.bp.blogspot.com/_G2SjIWZk6Eg/ShHgMENGvYI/AAAAAAAAAI4/UNA430Z4rd8/s400/map.jpg" alt="" id="BLOGGER_PHOTO_ID_5337293531302509954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;28 April 2009&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Eclipse class&lt;/span&gt; at IBM Innovation Center&lt;br /&gt;The folks at IBM wanted to use some of us to test a new class they will be teaching in San Mateo. Eclipse is a popular open source integrated development environment (IDE) that software engineers use to develop their programs.&lt;br /&gt;&lt;br /&gt;I was surprised to learn two things&lt;br /&gt;1) You can make an end user product that runs on Eclipse, by designing screens and scripts that will run in the background.&lt;br /&gt;2) The Amazon cloud is integrated nicely with Eclipse to make it fairly easy to develop web applications and deploy them cheaply.&lt;br /&gt;&lt;br /&gt;13 May 2009&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“Bike Away from Foothill”&lt;/span&gt;&lt;br /&gt;I organized, promoted and led a bike ride leaving Foothill at noon and riding the back way to downtown Los Altos. The goal was to show faculty, students and staff how safe and enjoyable it is to ride your bike to and from Foothill. My efforts promoting this on campus paid off as there were 8 of us riding together; both full- and part-time faculty, students and staff were all represented in the 8 riders.&lt;br /&gt;&lt;br /&gt;Two in our group, Art Heinrich and Todd Leicht, are working on the current construction project that is underway on campus, and they were very much interested in getting ideas about how cyclists can enter campus and where we can park our bikes, etc. Another pleasant surprise was running into Betsy Bechtel while the group was at Peet’s in Los Altos; she was there with her bicycle club and she contributed to our lively discussion.&lt;br /&gt;&lt;br /&gt;Major points made by the group:&lt;br /&gt;1) As other vehicles do when driving on campus, bicyclists will always yield to pedestrians.&lt;br /&gt;2) The Valley Transportation Authority gives 3 free Cora bike racks to companies in order to promote bicycle commuting. We believe that Foothill would be eligible for these too.&lt;br /&gt;3) Foothill is currently drawing up a general plan, and so it is a good time to think about alternative entrances to campus and placement of bike racks.&lt;br /&gt;&lt;br /&gt;Here are some things that the college could do to make it easier for us to commute to Foothill by bike:&lt;br /&gt;• Install bike racks. Proposed locations: under the bridge and then other visible areas around campus.&lt;br /&gt;• Make bike lockers available. These would allow people to keep their bikes dry and secure, and perhaps even keep things like shoes or a towel in there too.&lt;br /&gt;• Make long term clothing and book lockers available to students. These could be in the gym or elsewhere, preferably near bike racks.&lt;br /&gt;• Hold a bike safety class. The League of American Bicyclists will supply the instruction.&lt;br /&gt;• Build one or more new ped/bike entrances to campus; near the fire station was seen as a good location for a new, paved pathway onto campus.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3815176103709050893?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3815176103709050893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3815176103709050893' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3815176103709050893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3815176103709050893'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/05/28-april-2009-eclipse-class-at-ibm.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_G2SjIWZk6Eg/ShHgMENGvYI/AAAAAAAAAI4/UNA430Z4rd8/s72-c/map.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4185667722788023267</id><published>2009-03-25T15:41:00.001-07:00</published><updated>2009-03-25T15:41:39.678-07:00</updated><title type='text'></title><content type='html'>League for Innovation, Reno, NV&lt;br /&gt;15 March 2009&lt;br /&gt;http://www.league.org/i2009/&lt;br /&gt;&lt;br /&gt;Sunday morning at 8:30, I led a workshop called "How to get your students to think for themselves." Surprisingly, 30 people showed up, many of them early! It was a very involved group, and I believe that a lot of learning took place.&lt;br /&gt;&lt;br /&gt;I also went to a talk about nuResume, a new networking website for college students, faculty, and industry employers to post their profiles and communicate about jobs. I want to create a profile for myself there, so that I might be able to use it to help students find jobs. Foothill career center co-presented this workshop, so there are already a number of Foothill people and employers on nuResume.&lt;br /&gt;&lt;br /&gt;A workshop on "Team-based Learning" gave some valuable tips on student teams. The 5 stages are: forming, storming, norming, performing, adjourning. They broke us up into teams immediately and had us do a short team activity to help us get to know each other and gel as a team. I should do that with my students at the start of a project. They recommended a book called "Successful Teamwork" by Peter Levin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4185667722788023267?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4185667722788023267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4185667722788023267' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4185667722788023267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4185667722788023267'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/03/league-for-innovation-reno-nv-15-march.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4566307910926820174</id><published>2009-03-25T15:40:00.000-07:00</published><updated>2009-03-25T15:41:17.616-07:00</updated><title type='text'></title><content type='html'>Software Development Expo, Santa Clara&lt;br /&gt;12 March 2009&lt;br /&gt;http://www.sdexpo.com/&lt;br /&gt;&lt;br /&gt;1) EvergyNet - The Next Boom in Software&lt;br /&gt;This analyst says that we need to create a smart web for electricity generation and use. All of our devices (cars, dishwashers, etc) will be able to send and receive information about the current price of energy, and make decisions to use energy or not depending on the price. For example, your car will not recharge itself from the web during peak hours, but instead wait until off peak. The speaker said that the current grid is failing right now, and a new one must be built anyway, so the new one should have intelligence like this built in. The intelligence is all enabled by software, so all new software development jobs will be in this industry soon.&lt;br /&gt;&lt;br /&gt;2) Successful Software Management: 17 Lessons Learned&lt;br /&gt;Johanna Rothman said that capable management can result in a 65% improvement in productivity for the team. New technology can result in 55% improvement, reusing code can give you 350% improvement, and good processes can give you 35% improvement. She recommends the book "Successful Software Management" by Rothman.&lt;br /&gt;&lt;br /&gt;3) Safari Books Online had a booth there&lt;br /&gt;This is a subscription service which gives you the ability to read most textbooks online. This would make it easier for me to travel around without lugging my textbooks with me. It would also make it easier for me to evaluate new textbooks, or refer to other books beside the ones I own or adopt for my class. For $19.50 per month, I could read up to 10 books online each month. I just started a 15 day free trial.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4566307910926820174?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4566307910926820174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4566307910926820174' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4566307910926820174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4566307910926820174'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/03/software-development-expo-santa-clara.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-5425632481863710183</id><published>2009-03-25T15:39:00.001-07:00</published><updated>2009-03-25T15:39:54.410-07:00</updated><title type='text'></title><content type='html'>Meeting with IBM Academic Alliance and MPICT, San Mateo&lt;br /&gt;26 Feb 2009&lt;br /&gt;http://www.mpict.org/&lt;br /&gt;http://www-304.ibm.com/jct01005c/university/scholars/academicinitiative&lt;br /&gt;&lt;br /&gt;The Mid Pacific ICT Center is the new center to coordinate, promote and improve the quality of ICT (Information and Communications Technology) education in this region. They organized a meeting with a group inside IBM, the "Academic Initiative", that promotes open standards, open source, and IBM resources for academia. We were looking for ways that we could work together to help our students.&lt;br /&gt;&lt;br /&gt;IBM has a website that outlines their academic initiative, which includes curriculum maps, courseware, free access to IBM's expensive software development tools, and more. See link above.&lt;br /&gt;&lt;br /&gt;I am hoping I can find resources to help me teach students how to work in teams, manage projects, collaborate online, facilitate discussion. I would also like to make a videotape of some IBMers stating tha they value these soft skills.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-5425632481863710183?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/5425632481863710183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=5425632481863710183' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5425632481863710183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5425632481863710183'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/03/meeting-with-ibm-academic-alliance-and.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4655679329941695372</id><published>2009-02-24T11:01:00.001-08:00</published><updated>2009-03-27T10:27:28.028-07:00</updated><title type='text'></title><content type='html'>18 Feb 2009, Google&lt;br /&gt;Ajax Reloaded: Javascript Libraries Panel&lt;br /&gt;presented by&lt;br /&gt;Mountain View Javascript Meetup Group&lt;br /&gt;&lt;br /&gt;There is a new way to find people who you share a common interest with, it is called “meetup.com.” This website is made for all sorts of sports, hobbies and professional interests, and is focussed around meeting face to face. This particular meeting was fabulous, as it gathered the top experts in the field for a panel discussion.&lt;br /&gt;&lt;br /&gt;I teach a course called “Ajax”, my newest course at Foothill. This is a programming technique that allows software engineers to make websites that behave as though they were desktop applications. For example, Google makes a word processor that you run from their website through your browser. Most engineers use a toolkit to implement such websites, and there are a number of toolkits available with various features.&lt;br /&gt;&lt;br /&gt;This panel included the people who had developed the leading toolkits themselves, so they could discuss the advantages of one over the others. The atmosphere of cooperation and sharing of information was fabulous, as these (competitors) seemed to be so happy to have each other!&lt;br /&gt;&lt;br /&gt;Adam Moore – Yahoo UI&lt;br /&gt;Dylan Schiemann – DOJO&lt;br /&gt;Fred Sauer – Google Web Toolkit&lt;br /&gt;Tom Occhino – MooTools&lt;br /&gt;Yehuda Katz – JQuery&lt;br /&gt;&lt;br /&gt;What I learned:&lt;br /&gt;MooTools is used by FaceBook, and is the only toolkit that is meant to be standalone. The others all can be used together.  Occhino described it as concise, elegant, idealistic.&lt;br /&gt;&lt;br /&gt;Dojo is comprehensive and cutting edge. All panelists agreed that if some new feature appears implementable, Dojo will have that capability first.&lt;br /&gt;&lt;br /&gt;They mentioned two other technologies for creating web apps: Flash from Adobe, which doesn’t work on iphone. Silverlight from Microsoft won’t work on older Macs. Panelists said that Flash and Silverlight are stop gap measures that assume the browser won’t improve in two years.&lt;br /&gt;&lt;br /&gt;In fact there is a new standard HTML 5 coming out. I don’t know when the browsers will start supporting it, and what new features it will bring, but I have to look into it.&lt;br /&gt;&lt;br /&gt;We were all very pleased to hear from the recruiters in attendance. Indeed, there are still companies hiring! One person sang the praises of a jobs website called simplyhired.com&lt;br /&gt;&lt;br /&gt;Sometimes websites developed with Ajax have their content somewhat hidden so search engines have a hard time finding them. One of the panelists said that this problem is solved if you make your website accessible (to disabled people), and degradeable (for old browsers).&lt;br /&gt;&lt;br /&gt;Things I need to study:&lt;br /&gt;HTML 5&lt;br /&gt;comet&lt;br /&gt;sizzle&lt;br /&gt;query selector engine&lt;br /&gt;prototypical inheritance&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4655679329941695372?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4655679329941695372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4655679329941695372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4655679329941695372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4655679329941695372'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/02/18-feb-2009-google-ajax-reloaded.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-2825539766350911873</id><published>2009-02-24T11:01:00.000-08:00</published><updated>2009-02-24T11:04:06.749-08:00</updated><title type='text'></title><content type='html'>Ajax Reloaded: Javascript Libraries Panel&lt;br /&gt;18 Feb 2008, Google&lt;br /&gt;presented by&lt;br /&gt;Mountain View Javascript Meetup Group&lt;br /&gt;&lt;br /&gt;http://javascript.meetup.com/9/calendar/9561899/&lt;br /&gt;&lt;br /&gt;There is a new way to find people who you share a common interest with, it is called “meetup.com.” This website is made for all sorts of sports, hobbies and professional interests, and is focussed around meeting face to face. This particular meeting was fabulous, as it gathered the top experts in the field for a panel discussion.&lt;br /&gt;&lt;br /&gt;I teach a course called “Ajax”, my newest course at Foothill. This is a programming technique that allows software engineers to make websites that behave as though they were desktop applications. For example, Google makes a word processor that you run from their website through your browser. Most engineers use a toolkit to implement such websites, and there are a number of toolkits available with various features.&lt;br /&gt;&lt;br /&gt;This panel included the people who had developed the leading toolkits themselves, so they could discuss the advantages of one over the others. The atmosphere of cooperation and sharing of information was fabulous, as these (competitors) seemed to be so happy to have each other!&lt;br /&gt;&lt;br /&gt;Adam Moore – Yahoo UI&lt;br /&gt;Dylan Schiemann – DOJO&lt;br /&gt;Fred Sauer – Google Web Toolkit&lt;br /&gt;Tom Occhino – MooTools&lt;br /&gt;Yehuda Katz – JQuery&lt;br /&gt;&lt;br /&gt;What I learned:&lt;br /&gt;MooTools is used by FaceBook, and is the only toolkit that is meant to be standalone. The others all can be used together.  Occhino described it as concise, elegant, idealistic.&lt;br /&gt;&lt;br /&gt;Dojo is comprehensive and cutting edge. All panelists agreed that if some new feature appears implementable, Dojo will have that capability first.&lt;br /&gt;&lt;br /&gt;They mentioned two other technologies for creating web apps: Flash from Adobe, which doesn’t work on iphone. Silverlight from Microsoft won’t work on older Macs. Panelists said that Flash and Silverlight are stop gap measures that assume the browser won’t improve in two years.&lt;br /&gt;&lt;br /&gt;In fact there is a new standard HTML 5 coming out. I don’t know when the browsers will start supporting it, and what new features it will bring, but I have to look into it.&lt;br /&gt;&lt;br /&gt;We were all very pleased to hear from the recruiters in attendance. Indeed, there are still companies hiring! One person sang the praises of a jobs website called simplyhired.com&lt;br /&gt;&lt;br /&gt;Sometimes websites developed with Ajax have their content somewhat hidden so search engines have a hard time finding them. One of the panelists said that this problem is solved if you make your website accessible (to disabled people), and degradeable (for old browsers).&lt;br /&gt;&lt;br /&gt;Things I need to study:&lt;br /&gt;HTML 5&lt;br /&gt;comet&lt;br /&gt;sizzle&lt;br /&gt;query selector engine&lt;br /&gt;prototypical inheritance&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-2825539766350911873?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/2825539766350911873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=2825539766350911873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2825539766350911873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2825539766350911873'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/02/18-feb-2008-google-ajax-reloaded.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-2771307438533913299</id><published>2009-01-09T17:09:00.000-08:00</published><updated>2009-01-09T17:10:46.061-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;MPICT Conference, 8, 9 Jan 2009, San Francisco&lt;/span&gt;&lt;br /&gt;MidPacific Information and Communication Technology&lt;br /&gt;This is a new Center funded by the NSF to bring educators and industry together to create a technical workforce.&lt;br /&gt;&lt;br /&gt;San Francisco City College hosted this in a very lively neighborhood in the Mission District. The Center is supposed to serve the western part of the US, but there were people there from all over the country. Lots of industry representation from Microsoft, IBM, etc.&lt;br /&gt;&lt;br /&gt;Because it was the first week of classes, I didn’t get a chance to attend very many of the talks. But here is a synopsis of what I did see:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1)&lt;/span&gt;    They want to standardize our field on the term “ICT”. Apparently this is the umbrella term used by the rest of the world, with the US the only one not using it consistently.&lt;br /&gt;&lt;br /&gt;MPICT has commissioned a workforce study to research what are the growth industries and what skills the required workers will need to have.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2)&lt;/span&gt;    There is a program at Ohlone College in the east bay where they use the old discarded hardware to train technicians.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3)&lt;/span&gt;    Here at Foothill we have a program where student trainees take old discarded hardware from companies, fix it up and give the refurbished computers free to needy students. The trainee students that fix the computers then get placed in internships as technicians in industry.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4)&lt;/span&gt;    There was an executive from IBM that talked about the programs that IBM has created for educators, and it convinced me that these companies really “get it” that we are the engine that they need to train their workforce.&lt;br /&gt;&lt;br /&gt;She also talked about the “T” skills employees must have, these are skills that are both broad and deep. The top of the “T”, the horizontal line, is the broad skill set that is usually interdisciplinary, like communications. The vertical bar is for deep knowledge of some one skill or technology.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5)&lt;/span&gt; Together with my colleague Jane Ostrander,  I led a session here, called “How to get your students to think for themselves.” This was about scenario-based learning, of course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-2771307438533913299?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/2771307438533913299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=2771307438533913299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2771307438533913299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2771307438533913299'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2009/01/mpict-conference-8-9-jan-2009-san.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-99494839946433617</id><published>2008-11-10T16:34:00.000-08:00</published><updated>2008-11-10T16:37:21.767-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Code Camp, 8-9 Nov 2008, Foothill College&lt;/span&gt;&lt;br /&gt;http://www.siliconvalley-codecamp.com/&lt;br /&gt;This conference is all free, and organized by volunteers. Foothill does what it can to support it, and Microsoft and LinkedIn buy the pizza for lunch.  As much as I hate working weekends, this is just too efficient a way to learn for me to pass up.&lt;br /&gt;&lt;br /&gt;A couple of Ajax libraries I need to study: extJs and YUI&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“JavaScript: The Good Parts” by Douglas Crockford&lt;/span&gt;&lt;br /&gt;JavaScript was introduced in 1995. Crockford says that it is not such a bad language, that the DOM API and its lack of standards is what is bad. He mentioned some interesting style issues, always favoring simplicity and bug-avoidance over clever or efficient coding:&lt;br /&gt;- always use ===&lt;br /&gt;- always use {}&lt;br /&gt;- don’t use ++ nor –&lt;br /&gt;- always use break with switch&lt;br /&gt;He also mentioned two things that I need to study:&lt;br /&gt;- lambda is a big benefit of the JavaScript language&lt;br /&gt;- “global variables are the cause of cross site scripting attacks”&lt;br /&gt;- function closure: a function object contains a function and a reference to the environment in which it was created (its context.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“Easing Into Agile” by Ted Young&lt;/span&gt;&lt;br /&gt;Agile is a fairly new process for software development teams. It is described at:&lt;br /&gt;http://agilemanifesto.org/&lt;br /&gt;With agile, you can see every day what you’re working on and what you’re getting done. You write story cards that each represent a small testable feature or feature piece. He has less then 12 people in a team.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“Test Driven Development” by Mathias Brandewinder&lt;/span&gt;&lt;br /&gt;TDD is a development methodology. It is compatible with Agile and many other development processes. A very simple concept, it just says do things in this order:&lt;br /&gt;&lt;br /&gt;1) write the test that won’t work because you haven’t written the code it is to test yet.&lt;br /&gt;2) write whatever code you need in order to get the test to work.&lt;br /&gt;3) improve the code you wrote in 2), without breaking the test you wrote in 1).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“0 to 60 with Regular Expressions” by Nima Dilmaghani&lt;/span&gt;&lt;br /&gt;This was a great primer that made me wish I had a very clear-cut job writing regular expressions all day. Nima’s blog is Nimad.wordpress.com, and it contains a cheat sheet for regular expressions.&lt;br /&gt;&lt;br /&gt;A regular expression gets applied to a file of text, and it picks out just the text in the file that “matches” the regular expression. For example, if you are looking for email addresses in web pages, you can write a regular expression that will “match” any email address and apply it to all the web pages that you can find. This is how spammers get our email addresses, and why we should never put email addresses on web pages.&lt;br /&gt;&lt;br /&gt;Nima recommended:&lt;br /&gt;- a tool called “Regex Designer.&lt;br /&gt;- one should never mess with regular expressions without some tool.&lt;br /&gt;- that we write the test cases, both pass and fail, before we write the regex.&lt;br /&gt;- your regular expression should always include the most specific target first, the general second.&lt;br /&gt;- your regular expression should include the most common first, so it is more efficient.&lt;br /&gt;- use IgnoreCharacterWhiteSpace&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“The Basics of Threading” by Kim Greenlee&lt;/span&gt;&lt;br /&gt;Threads are error-prone, since they are so much about timing. They are also expensive, costing many many machine cycles to setup and take down. Therefore, you should only use them when you have to.&lt;br /&gt;&lt;br /&gt;Use a debugging tool like Replay Solutions.&lt;br /&gt;Always name your Threads, it will really help in debugging.&lt;br /&gt;Plan your Thread use from the beginning of development.&lt;br /&gt;Measure performance with and without Threads and keep the Threads only if performance improves.&lt;br /&gt;Test your code both with and without the debugger running. This is because the presence of the debugger in memory will affect the Threads.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;“UI Design Fundamentals” by Uday Gajender&lt;/span&gt;&lt;br /&gt;In UI, you want a balance between information, interaction and visual.&lt;br /&gt;See Kuler.adobe.com for a tool to choose colors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-99494839946433617?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/99494839946433617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=99494839946433617' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/99494839946433617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/99494839946433617'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/11/code-camp-8-9-nov-2008-foothill-college.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4716618797874765436</id><published>2008-11-10T13:02:00.000-08:00</published><updated>2008-11-10T13:03:33.614-08:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;29 – 31 October 2008, Washington DC&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;National Science Foundation Principal Investigators’ Conference&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the fourth year I have attended, it is for the section of the NSF called Advanced Technological Education, which is mostly community college instructors and administrators who do research into new teaching frameworks and methodologies, together with industry representatives who tell us who they need to hire.&lt;br /&gt;&lt;br /&gt;The first keynote address was from an astronaut, Captain Robert “Hoot” Gibson, who started his career in a community college. It reminds us that we never know how far our students will go!&lt;br /&gt;&lt;br /&gt;The second keynote was from a journalist, Paul Gillin, who wrote “The New Influencers: the Marketers’ Guide to the New Social Media.” Gillian noted that 20% of American journalists were laid off this year, because information is cheap and plentiful. He says search is the new circulation.&lt;br /&gt;&lt;br /&gt;My colleague Michael McKeever from Santa Rosa Junior College gave me some good tips on how to use CCC Confer. When conducting a class on CCC Confer, he receives student questions and comment via chat.  He also suggested using VOIP for me to talk and for the students to hear.&lt;br /&gt;&lt;br /&gt;Other notes I picked up at the conference:&lt;br /&gt;Workforce development drives economic development&lt;br /&gt;I should give students a career pep talk ASAP&lt;br /&gt;&lt;br /&gt;Employers say:&lt;br /&gt;-Give me someone who knows how to learn.&lt;br /&gt;-I will take someone with a strong set of soft skills over someone with a strong set of technical skills.&lt;br /&gt;&lt;br /&gt;My colleague Louise Yarnall and I led a workshop on “Envisioning what your students can learn through a project-based task.” This was the first time I had presented anything at a conference, so I was pleased to have 16 people attend. Louise had designed a couple of small group activities which worked great. We got lots of good feedback.&lt;br /&gt;&lt;br /&gt;This was the debut for our friends in San Francisco who just got a grant for $3million over 4 years for their Mid-Pacific Information and Communications Technologies Center (MPICT). I will probably be presenting a workshop at their winter conference 8-9 January.&lt;br /&gt;&lt;br /&gt;I met some community college instructors who have a thriving computer games development program in Raleigh, NC. They have to turn students away because their classes are so full. Their students can get jobs without transferring to university for a four year degree.&lt;br /&gt;http://raleigh-wake.org/games/&lt;br /&gt;They are more than willing to share their curriculum with us, and they gave me a CD with all their materials on it. I have forwarded all their stuff to John Berry, who teaches games development at Foothill.&lt;br /&gt;&lt;br /&gt;The talk that covered a topic so much like ours was called “Photon PBL: Assessment of Student Learning in Problem-Based Learning.” They made the point that we need to assess students on 2 scales, the % of contribution that a student makes to the project and the % contribution that a student makes to the team. Someone at the talk mentioned that he had a method for assessing students that involved a spreadsheet quanitifying these two things, as assessed by the instructor and the rest of the team. I did not get that participant’s name, though.&lt;br /&gt;The talk was by Nicholas Massa form Springfield Technical Community College, and Michele Dischino from Central Connecticut State University&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4716618797874765436?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4716618797874765436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4716618797874765436' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4716618797874765436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4716618797874765436'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/11/29-31-october-2008-washington-dc.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-928981087811994398</id><published>2008-07-30T12:05:00.000-07:00</published><updated>2008-07-30T12:06:09.066-07:00</updated><title type='text'></title><content type='html'>Synergy Conference, July 2008&lt;br /&gt;http://www.synergy2008.org&lt;br /&gt;&lt;br /&gt;The National Science Foundation has a section called ATE, for Advanced Technological Education, which funds research in community colleges. I have been involved for two years with such a grant called “Scenario-Based Learning in Technical Education.” All of these ATE grants require dissemination, the promotion of our work across the country. The Synergy conference is a working conference where we learn how to disseminate our work successfully.&lt;br /&gt;&lt;br /&gt;We met for four days in Phoenix, where we heard some great keynote speakers and worked in our group to devise a plan for disseminating our work next year, which is the final year of our three-year grant. The following list contains the powerful ideas I picked up that will facilitate the adoption of scenario-based learning:&lt;br /&gt;&lt;br /&gt;• Enable instructors to take ownership for the methodology in their classroom. Practically speaking, we need to allow them to easily modify the materials we give them.&lt;br /&gt;&lt;br /&gt;• Identify problems that instructors are having, and tell them how our methodology can help them solve them. Look at the project from the outside and say “Here’s how we can help you.”&lt;br /&gt;&lt;br /&gt;• Have instructors, especially those from Foothill and De Anza, sit in on my classes to see how the students are learning.&lt;br /&gt;&lt;br /&gt;• Videotape my class and put the video on the web.&lt;br /&gt;&lt;br /&gt;• Research shows that the reasons people adopt change, in order, are: cost, simplicity and compatibility.&lt;br /&gt;&lt;br /&gt;• Inform top administrators at Foothill about this work. They talk to many other colleges and can help spread the word.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-928981087811994398?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/928981087811994398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=928981087811994398' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/928981087811994398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/928981087811994398'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/07/synergy-conference-july-2008-httpwww.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4390633160979572723</id><published>2008-07-17T09:39:00.000-07:00</published><updated>2008-07-17T09:41:29.708-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;14 July 2008&lt;/span&gt;&lt;br /&gt;Interview with John Thomas, Software Test Engineer at Google.&lt;br /&gt;This meeting included Shuly Cooper, who is preparing a new course in software quality engineering for Foothill College.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What skills do you look for in a new hire?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; Software test engineers must have all the same skills as software engineers, including:&lt;br /&gt;- knowledge of algorithms&lt;br /&gt;- ability to design well&lt;br /&gt;- ability to handle structured chaos&lt;br /&gt;- coding&lt;br /&gt;- teamwork&lt;br /&gt;- comfortable with loosely defined product requirements&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;On top of &lt;/span&gt;those typical software engineering skills, test engineers must also be able to:&lt;br /&gt;- hack software, break it&lt;br /&gt;- understand the boundaries of software&lt;br /&gt;- handle internationalization and security issues&lt;br /&gt;- communicate bugs to developers in a non-threatening way&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What tools do you use to test software?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;We make use of tools we developed at Google, but we also use:&lt;br /&gt;- GWT test case&lt;br /&gt;- JUNIT&lt;br /&gt;- Selenium&lt;br /&gt;- Eggplant&lt;br /&gt;- JwebTester&lt;br /&gt;- Perforce for internal software and scripts on top of Perforce&lt;br /&gt;- Subversion when a project goes open source&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What programming languages are used at Google?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;Java, C++, and Python&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What is the software development process like at Google?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A: &lt;/span&gt;&lt;br /&gt;-  Requirements are written and reviewed extensively&lt;br /&gt;-  Design is written (in English) and reviewed continuously. The design is sent to peers for review before it is halfway finished.&lt;br /&gt;- Pairs programming is practiced&lt;br /&gt;- Code is reviewed regularly, with all feedback from reviewers incorporated. All software engineers spend a lot of their time reviewing others' code.&lt;br /&gt;- New code is released often, between once a week and once a month.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;How do you know when you are finished with a product?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt; Tests have covered sufficiently:&lt;br /&gt;- code&lt;br /&gt;- features&lt;br /&gt;- internationalization&lt;br /&gt;- security&lt;br /&gt;- stress&lt;br /&gt;- load&lt;br /&gt;- performance&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;What are some best practices that you follow at Google?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt;&lt;br /&gt;- In object oriented design, composition is better then inheritance.&lt;br /&gt;- Customer support shows test engineers how to prioritize features.&lt;br /&gt;- We try to do the testing with the same tools and at the same time as development.&lt;br /&gt;- Engineers are encouraged to contribute "across the board", meaning improving common processes in order to help large numbers of Googlers be more productive.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Q: &lt;/span&gt;Can you give us references on software test engineering?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;A:&lt;/span&gt;&lt;br /&gt;- "Effective Java" book&lt;br /&gt;- "Design Patterns" book&lt;br /&gt;- "Introduction to Software Testing" book by Copeland&lt;br /&gt;- GTAC conference&lt;br /&gt;- The Google Testing Blog at&lt;br /&gt;http://googletesting.blogspot.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4390633160979572723?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4390633160979572723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4390633160979572723' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4390633160979572723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4390633160979572723'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/07/14-july-2008-interview-with-john-thomas.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-4475574648868352068</id><published>2008-06-12T18:32:00.000-07:00</published><updated>2008-06-12T18:34:21.353-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Elaine and former student Thuon Chen at Google I/O conference 2008'/><title type='text'></title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_G2SjIWZk6Eg/SFHOaqhS7-I/AAAAAAAAAFw/w33nWUJPpDM/s1600-h/GoogleIO.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_G2SjIWZk6Eg/SFHOaqhS7-I/AAAAAAAAAFw/w33nWUJPpDM/s400/GoogleIO.jpg" alt="" id="BLOGGER_PHOTO_ID_5211173201330237410" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-4475574648868352068?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/4475574648868352068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=4475574648868352068' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4475574648868352068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/4475574648868352068'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/06/blog-post.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_G2SjIWZk6Eg/SFHOaqhS7-I/AAAAAAAAAFw/w33nWUJPpDM/s72-c/GoogleIO.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3515829964653356246</id><published>2008-06-04T15:38:00.001-07:00</published><updated>2008-06-04T15:38:56.649-07:00</updated><title type='text'></title><content type='html'>Google I/O&lt;br /&gt;http://code.google.com/events/io/&lt;br /&gt;28, 29 May 2008&lt;br /&gt;Moscone Center, San Francisco&lt;br /&gt;&lt;br /&gt;This is the second annual Google Developers' Conference. It is here that Google teaches us how to use all of their technology to create great websites. I attended last year, when it was only one day and held in San Jose. I was happy to find a number of current and former Foothill students in attendance.&lt;br /&gt;&lt;br /&gt;Keynote:&lt;br /&gt;Vic Gundotra, VP of Engineering at Google&lt;br /&gt;I was surprised to find that the name of the conference "I/O" stands for "INNOVATE/OPEN SOURCE". Google said that their motivation for giving away most of their software development technology is to advance the use of the web in general. The more cool apps that are on the web, the more people will use the web, and the more $$ that Google will make.&lt;br /&gt;&lt;br /&gt;Keynote:&lt;br /&gt;Marissa Mayer, VP of Search and User Experience at Google&lt;br /&gt;She said that Google was started and has succeeded by having a "healthy disrespect for the impossible." She sees the imagination as a muscle that has to be exercised. Most of the products they were giving away at this conference were developed during the 20% of their time that each Google engineer gets to spend on their own projects.&lt;br /&gt;&lt;br /&gt;Marissa also mentioned something I heard at Microsoft regarding user testing, that is A/B testing, where they introduce a new feature to only a portion of their users. Then they study how those users experience it before they release it to all users.&lt;br /&gt;&lt;br /&gt;"State of Ajax":&lt;br /&gt;UI = Visual design + Interaction design&lt;br /&gt;Dijit is something I had never heard of. they said that it stood for:&lt;br /&gt;dojo, Jquery, prototype, scriptaculous, GWT used together&lt;br /&gt;Other new terms for me:&lt;br /&gt;Aptana cloud&lt;br /&gt;Greasemonkey (not new, but I need to work with this)&lt;br /&gt;Fluid&lt;br /&gt;&lt;br /&gt;"Spice up your apps":&lt;br /&gt;More stuff to study~&lt;br /&gt;map.enableGoogleBar()&lt;br /&gt;Ajax libraries API (load libraries direct from Google servers)&lt;br /&gt;&lt;br /&gt;"Can we get there from here?":&lt;br /&gt;Described the different web development technologies as being on a spectrum&lt;br /&gt;ubiquity vs, capability&lt;br /&gt;markup vs. code&lt;br /&gt;&lt;br /&gt;"Working with Google app engine models":&lt;br /&gt;lookup up "antipatterns" on wikipedia&lt;br /&gt;@decorator&lt;br /&gt;"Design Patterns":&lt;br /&gt;getfirebug.com&lt;br /&gt;The speaker comparees the language javascript to a ninja,&lt;br /&gt;and he compares the language java to a tank.&lt;br /&gt;he also mentioned function closures as being important.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3515829964653356246?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3515829964653356246/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3515829964653356246' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3515829964653356246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3515829964653356246'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/06/google-io-httpcode.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-2602139196898490597</id><published>2008-05-02T08:36:00.000-07:00</published><updated>2008-05-07T16:41:15.399-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Web 2.0 Expo&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;23-25 April 2008&lt;br /&gt;Some of the presenters posted their slides to:&lt;br /&gt;http://en.oreilly.com/webexsf2008/public/schedule/proceedings&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Keynotes and Lectures&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1) "The Dark Side of Ajax" by Jacob West: Jacob at fortify dot com&lt;br /&gt;Mostly about security problems raised by Ajax.&lt;br /&gt;More flexibility in a tool makes it harder to get security right.&lt;br /&gt;Terms:&lt;br /&gt;Black hats exploit a vulnerability in your code.&lt;br /&gt;Same origin policy forbids Cross Site Scripting (XSS).&lt;br /&gt;In a Cross site request forgery (CSRF), black hats read the cookies on your computer to get id's to use in logging into other sites like banking sites.&lt;br /&gt;Malware is malicious software.&lt;br /&gt;&lt;br /&gt;2) Max Levchin started many successful companies, and he said his secret is to "hire for drive"&lt;br /&gt;&lt;br /&gt;3) Microsoft announced "Mesh"&lt;br /&gt;Someone can take a photo with their phone and it will automatically be uploaded to the web and someone else can see it nearly instantaneously.&lt;br /&gt;&lt;br /&gt;4) Scott Berkun said on his blog:&lt;br /&gt;"We have always been collaborative. Always been social. It’s in our genes and it’s what we have evolved to do well. Good technologies enhance our natural abilities, give us useful artificial ones, and help us to get more of what we want from life. Web 2.0 and social media make the process of collaboration and developing relationships more fun, efficient, powerful and meaningful."&lt;br /&gt;&lt;br /&gt;Clay Shir that Web 2.0 products should carve out society's cognitive overload (which is now spent watching tv) and bring it onto the web. Harness people's free time and put it together to form community intelligence that everyone can take advantage of&lt;br /&gt;&lt;br /&gt;5) Marc Andreesen invented the first browser around 1993. He gives Bill Gates credit for creating a horizontally structured open industry.&lt;br /&gt;&lt;br /&gt;6) Jonathan Zittrain wrote the book "The Future of the Internet and how to stop it".&lt;br /&gt;His premise is that because the devices are on closed platforms and tethered to their makers (ipods, tivos), the generative, free nature of the internet could die.&lt;br /&gt;&lt;br /&gt;7) Steve Pearman of MySpace claims that 11% of all internet minutes are spent on myspace.&lt;br /&gt;&lt;br /&gt;8) Daniel Appelquist of Vodaphone&lt;br /&gt;"Mobile Ajax and the Future of the Web"&lt;br /&gt;Within 5 years a majority of web usage will be from mobile devices.&lt;br /&gt;snurl.com/25n2s&lt;br /&gt;deviceatlas.mobi&lt;br /&gt;betavine.net&lt;br /&gt;&lt;br /&gt;9) "Influence is Overrated" by Jonah Peretti&lt;br /&gt;jonah at buzzfeed.com&lt;br /&gt;He said he would let me know when his slides are ready to be distributed.&lt;br /&gt;Duncan Watts published research in Journal of Consumer Research 2007. Watts disputes "Tipping Point" by Gladwell and says that whether or not influence can spread depends mostly on the network structure. He values the "Bored at Work" network, which works for funny, silly things but complex products will have sub-viral growth. Sub-viral growth is still growth, though, so in that case you just have to start with a larger mailing list.&lt;br /&gt;So you need three things:&lt;br /&gt;• contagious media&lt;br /&gt;• big seed (mailing list)&lt;br /&gt;• business up front, party in the back&lt;br /&gt;aka "mullet strategy", this lets users party, argue, and vent on the secondary pages, but professional editors keep the front page of your website looking sharp.&lt;br /&gt;&lt;br /&gt;10) "Do Try this at home: Ajax bookmarking, etc"&lt;br /&gt;Brian Dillard from PathFinder - slides posted&lt;br /&gt;Examined the ways in which standards bodies, browser vendors and library/plug-in authors are shaping the future of our foundational web technologies - and how individual developers can participate in that process.&lt;br /&gt;"Walled gardens" are the closed web&lt;br /&gt;Google Gears has client-side storage, Dojo and GWT implement bookmarking and back button.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Expo floor:&lt;/span&gt;&lt;br /&gt;As usual, I was trolling the expo floor looking for local employers. I found LOTS this year!&lt;br /&gt;&lt;br /&gt;1) Intuit.com/careers&lt;br /&gt;In Mountain View, they develop Quicken, Quickbooks and TurboTax.&lt;br /&gt;QuickBase is a free online database that you can use to create customizable apps&lt;br /&gt;&lt;br /&gt;2) WordPress&lt;br /&gt;Small (20 people) virtual company where everyone works at home.&lt;br /&gt;&lt;br /&gt;3) Rearden.com/jobs&lt;br /&gt;This stealth company is an incubator for new ideas. Hiring now!&lt;br /&gt;&lt;br /&gt;4) Ebay&lt;br /&gt;Hiring testers&lt;br /&gt;developer.ebay.com&lt;br /&gt;&lt;br /&gt;5) Yahoo&lt;br /&gt;hiring testers&lt;br /&gt;miraglia at yahoo-inc.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-2602139196898490597?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/2602139196898490597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=2602139196898490597' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2602139196898490597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2602139196898490597'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/05/web-2.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-5570148844601027455</id><published>2008-03-17T15:38:00.000-07:00</published><updated>2008-03-17T15:39:54.716-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;BESAC Conference, Asilomar, 5 March 2008&lt;/span&gt;&lt;br /&gt;Business Education Statewide Advisory Committee, professional development conference&lt;br /&gt;http://www.calbusinessed.org/&lt;br /&gt;&lt;br /&gt;Very little was learned here.&lt;br /&gt;&lt;br /&gt;The only attendee from business and industry was from Boeing; he gave the keybote address in which he really stressed the importance of "soft skills" over technical skills.&lt;br /&gt;&lt;br /&gt;Some people teach a whole class with CCCConfer.&lt;br /&gt;&lt;br /&gt;There exists tools for Game programmers, you can buy bits and pieces and plug them together.&lt;br /&gt;&lt;br /&gt;Synchronicity, if you can get it, can greatly enrich an online course.&lt;br /&gt;--------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SD Expo, Santa Clara, 3 Mar 08&lt;/span&gt;&lt;br /&gt;http://www.sdexpo.com/&lt;br /&gt;Keynote address, a panel on "Beautiful Code"&lt;br /&gt;&lt;br /&gt;Most code is written once, and read many times, so it better be readable.&lt;br /&gt;&lt;br /&gt;Good programming style is like good manners.&lt;br /&gt;&lt;br /&gt;The simplest algorithm is often better then the clever one.&lt;br /&gt;&lt;br /&gt;Good programmers are minimalists, the less code the better.&lt;br /&gt;&lt;br /&gt;If you have a large system of beautiful code, and then you put one small amount of crappy code into, it spoils the whole system. Like putting a spoonful of sewage into a barrel of water.&lt;br /&gt;&lt;br /&gt;How to teach people how to write beautiful code? By asking students to read beautiful code.&lt;br /&gt;&lt;br /&gt;Does open source encourage beautiful code? It can work both ways because many people reading it makes it beautful, but many people writing it makes it ugly. Successful Open source projects have undergone a darwinian process that forces them to become beautiful.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-5570148844601027455?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/5570148844601027455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=5570148844601027455' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5570148844601027455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5570148844601027455'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/03/besac-conference-asilomar-5-march-2008.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-1722691810831695936</id><published>2008-02-01T14:50:00.000-08:00</published><updated>2008-02-01T14:57:36.032-08:00</updated><title type='text'></title><content type='html'>Wednesday, 30 January&lt;br /&gt;Web 2.0 conference, Marriott Hotel in Santa Clara&lt;br /&gt;&lt;br /&gt;Again I got a free expo-only pass, and focussed mostly on talking to employers about what they need in a technician level new hire.&lt;br /&gt;&lt;br /&gt;1) OpSource is a VERY large service provider located right in Santa Clara. Alas, the hiring manager was not there, but I got his name.&lt;br /&gt;&lt;br /&gt;2) Lithium Technologies in Emeryville creates and supports online communities. I imagine they have tech support jobs too.&lt;br /&gt;&lt;br /&gt;3) New Idea Engineering is a search engine consultant who was interested in coming to talk to my Ajax class. I spoke with Miles Kehoe. He also pointed me to this online cartoon:&lt;br /&gt;http://xkcd.com/&lt;br /&gt;&lt;br /&gt;4) Sun microsystems had a booth where they were demoing jMaki/GlassFish, a multi-tool web development system. Arun Gupta, whom I had met at CodeCamp, agreed to come talk to my class.&lt;br /&gt;&lt;br /&gt;In less than an hour, I made a lot of contacts!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-1722691810831695936?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/1722691810831695936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=1722691810831695936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/1722691810831695936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/1722691810831695936'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/02/wednesday-30-january-web-2.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-5196785828625740251</id><published>2008-01-20T18:50:00.000-08:00</published><updated>2008-01-20T18:51:29.762-08:00</updated><title type='text'></title><content type='html'>MacWorld Expo&lt;br /&gt;San Francisco Moscone Center&lt;br /&gt;16 January 2008&lt;br /&gt;&lt;br /&gt;My $25 pass only let me onto the Expo floor, and I get exhausted after just a couple of hours going booth to booth. I was mostly impressed with the huge number of attendees and exhibitors. I had not been to MacWorld for a few years, and it has really grown!&lt;br /&gt;&lt;br /&gt;Apple was showing their new notebook computer, called "MacBook Air." This is of great interest to me, since Foothill will be buying me a new notebook in 6 months or so. I want one of these computers ASAP!&lt;br /&gt;http://www.apple.com/macbookair/guidedtour/index.html?size=small&lt;br /&gt;Apple's new OS also comes with backup software that works automatically. It is called "Time Machine" and I don't know much about it yet.&lt;br /&gt;&lt;br /&gt;Intuit has an engineering facility in Mountain View, so I asked them about job opportunities for Foothill graduates there. They said they always need quality assurance engineers, JavaScript and Flash programmers.&lt;br /&gt;&lt;br /&gt;Best Buy had a booth mostly to advertise their Geek Squad service. I asked them what requirements for the job, and they said "A+ certification." They also said the applicants had to be good with people, since that was what they see as their competitive advantage. Apparently, Best Buy partners with some colleges to place their graduates, so that is something that Foothill may want to get involved in.&lt;br /&gt;http://www.geeksquad.com/agents/detail.aspx?id=537&lt;br /&gt;&lt;br /&gt;I have been trying to setup a wireless music system in my house, and was bummed to find out that it only works when playing through itunes. I found an outfit that makes software that allows you to stream anything from the browser through a wireless network, and it only costs $25. This means I can listen to past shows from "Fresh Air", an NPR radio program available over the internet, in my kitchen!&lt;br /&gt;www.rogueamoeba.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-5196785828625740251?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/5196785828625740251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=5196785828625740251' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5196785828625740251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5196785828625740251'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2008/01/macworld-expo-san-francisco-moscone.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-2422810342478241964</id><published>2007-12-11T11:52:00.000-08:00</published><updated>2007-12-11T11:54:39.749-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT conference'/><title type='text'></title><content type='html'>Google Web Toolkit Conference&lt;br /&gt;3-5 December, Palace Hotel in San Francisco&lt;br /&gt;See slides from all sessions at&lt;br /&gt;http://www.voicesthatmatter.com/gwt2007/index.html&lt;br /&gt;&lt;br /&gt;This conference was about how to use the Google Web Toolkit. The GWT is a web development tool that allows you to code in Java and deploy in Javascript. Though there was a lot of javascript thrown around at the conference, people generally agreed that  you don't have to know much Javascript to use the GWT.&lt;br /&gt;&lt;br /&gt;Google sent many of their top engineers to teach us.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) Javascript bootcamp&lt;/span&gt;. Alexei White.&lt;br /&gt;This seminar contains all the Javascript you need in order to do Ajax or GWT. Thought most of it was too elemenatary for me, I did pick up a few pointers:&lt;br /&gt;TOOLS:&lt;br /&gt;Textmate is the best Javascript IDE for Mac.&lt;br /&gt;firebug is required for any serious development&lt;br /&gt;jslint can be built into Textmate.&lt;br /&gt;SYNTAX:&lt;br /&gt;I need to check out ECMA script&lt;br /&gt;obj.x = 10;    &lt;is&gt;  obj["x"] = 10;&lt;br /&gt;JSON is just object literals&lt;br /&gt;Functions are a datatype, and so can be a member of an object&lt;br /&gt;identity ===   &lt;vs&gt;     equality ==   &lt;br /&gt;Instructor didn't know the difference between identity and equality for objects&lt;br /&gt;Strings are primitive, so you can switch on them&lt;br /&gt;this-public/var-private&lt;br /&gt;"prototype" syntax for Objects&lt;br /&gt;Alexei uses innerHTML() instead of createTextNode() because it is more convenient&lt;br /&gt;forms are the ONLY way to upload a file to a server&lt;br /&gt;EFFICIENCY:&lt;br /&gt;conditional operator&lt;br /&gt;array.length is expensive&lt;br /&gt;comparison with literal like 0 is fastest&lt;br /&gt;Yslow   plugin for firebug that profiles your JS program&lt;br /&gt;DEBUGGING:&lt;br /&gt;this is the key skill for a Javascript programmer&lt;br /&gt;console.log()&lt;br /&gt;Closures create memory leaks, Drip detects them&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) Things to check out:&lt;/span&gt;&lt;br /&gt;Aptana studio&lt;br /&gt;Google events&lt;br /&gt;Google sitemaps&lt;br /&gt;Silverlight runs .net on Mac&lt;br /&gt;Ajaxpatterns.org&lt;br /&gt;peer-based&lt;br /&gt;anonymous inner classes : used in GWT RPC&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3) Google Web Toolkit:&lt;/span&gt;&lt;br /&gt;Only 50-60% of people in US have broadband&lt;br /&gt;Average MS Office user uses 5% of the code&lt;br /&gt;hosted mode vs. web mode&lt;br /&gt;gwt - dnd "drag and drop"&lt;br /&gt;jsni: javascript native interface&lt;br /&gt;parts of a web app: Backend, business logic, transport (BLT)&lt;br /&gt;an app should start up in 300ms&lt;br /&gt;coolandusefulgwt.com&lt;br /&gt;Eclipse has a GWT plugin&lt;br /&gt;Findbugs&lt;br /&gt;deferred binding&lt;br /&gt;quirksmode.org&lt;br /&gt;Book called Java Puzzlers from Kourtnaye Sturgeon, kourtnaye.sturgeon&lt;at&gt;pearsoned.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-2422810342478241964?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/2422810342478241964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=2422810342478241964' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2422810342478241964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2422810342478241964'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2007/12/google-web-toolkit-conference-3-5.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3173374326953703073</id><published>2007-10-30T22:00:00.000-07:00</published><updated>2007-10-30T22:09:45.520-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Silicon Valley Code Camp&lt;/span&gt;&lt;br /&gt;27, 28 October 2007 - Saturday and Sunday&lt;br /&gt;Foothill College Campus&lt;br /&gt;http://www.siliconvalley-codecamp.com/&lt;br /&gt;&lt;br /&gt;This was another "unconference", meaning that it is volunteers organizing and speaking, and fully free to attend. Unlike the other unconferences, this one is all about code, virtually no sales/marketing talks and very little UI design or project management discussions.&lt;br /&gt;&lt;br /&gt;This is the second year in a row that Code Camp has been held at Foothill, and everyone seemed really happy to be here! They scheduled the talks with very long breaks in between, and Microsoft generously provided lunch. This encouraged lots of networking. It was great to see current and former students here too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"The XO Laptop" &lt;/span&gt;         laptop.org&lt;br /&gt;There was a man at Code Camp with this amazing little plastic laptop made especially for children in the developing world. Starting Nov 12, you can spend $400 to get two of these laptops: one for your child and one for a child in the developing world. There are lots of high fliers on the board of this organization, called "One Laptop per Child". Given a tool like this, the creativity of a child is endless and would definitely change the world.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"JavaScript: The Good Parts"&lt;/span&gt; by Douglas Crockford&lt;br /&gt;Over two hours about how to write a good quality program using this poor quality language. Crockford is definitely a JavaScript guru, and he gave us some great advice that I can apply in other languages as well:&lt;br /&gt;-always use break with switch&lt;br /&gt;-always use {} with control statements, even when not necessary&lt;br /&gt;-don't line up {}, instead use K&amp;amp;R style&lt;br /&gt;-never use ++ or --&lt;br /&gt;In general, he said to never be clever. Instead write the most clear and simple code, best comments, and don't cut corners to be cute. It's not worth it!&lt;br /&gt;&lt;br /&gt;I need to study:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;    Flanagan is Crawford's favorite JavaScript book.&lt;/li&gt;&lt;li&gt;    lambda is his favorite feature of JavaScript&lt;/li&gt;&lt;li&gt;    I need to understand more about closures&lt;/li&gt;&lt;li&gt;    "arguments" is an array of all arguments passed into a function&lt;/li&gt;&lt;li&gt;    JSlint.com has a great debugging tool&lt;/li&gt;&lt;/ul&gt;Crockford echoed another genius programmer's pronouncement that "It's REALLY hard to write good JavaScript programs!" I see that he has a lot of good tips on his website:&lt;br /&gt;http://crockford.com/&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"KML Google Maps Mashup"&lt;/span&gt; by Van Riper&lt;br /&gt;KML is a flavor of XML that allows you to plot points on a Google map overlay. I have created Google maps in JavaScript before, but I never knew that plotting points was as easy as writing an XML file. I wish that he had gone into how to plot routes, but he didn't. There is a KML support group, and an active community of users that are anxious to share their information. This would be useful for the bike route maps that I discussed on my previous post from the ATE conference.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Software Engineering Best Practices for the Web 2.0 World"&lt;/span&gt; by Joseph Kleinschmidt&lt;br /&gt;This was all stuff I had heard before. I am just happy to know that practices like test driven development, well written documentation, and serious code reviews are no longer considered radical.&lt;br /&gt;&lt;br /&gt;It was very difficult for me to go in to Foothill on the weekend, but it was worth it! Sitting in rooms listening to lectures also gave me a lot of sympathy for my students, and hardened my resolve to get my students to be active learners, solving problems and working on projects instead of just listening to me talk.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3173374326953703073?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3173374326953703073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3173374326953703073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3173374326953703073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3173374326953703073'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2007/10/silicon-valley-code-camp-27-28-october.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-2009129961254073482</id><published>2007-10-23T18:16:00.000-07:00</published><updated>2007-10-23T18:26:38.557-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Trip Report&lt;/span&gt;&lt;br /&gt;National Science Foundation (NSF)&lt;br /&gt;Advanced Technological Education (ATE) Conference&lt;br /&gt;Washington DC, 17-19 October 2007&lt;br /&gt;&lt;br /&gt;All researchers funded by NSF's ATE attend this conference each year, and the cost to attend is paid for by the grant. This was my third year here at the Shoreham Hotel.&lt;br /&gt;&lt;br /&gt;I am co-principal investigator on a grant entitled "Scenario-Based Learning in Technological Education." This is funded through a section of NSF that is charged with educating the technicians of tomorrow. Since most technicians have two-year degrees, most of these researchers are from community colleges, and most of the research is around teaching. Our group creates curriculum in different subject areas that places students in real-world scenarios (such as "entry level programmer in a consulting company") in order to engage them in active learning in a practical context.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Keynote&lt;/span&gt;&lt;br /&gt;The keynote was about how we need to change the perception of "technician" in our society; the NSF may fund a marketing campaign that hopes to get young people interested in technological careers. It is agreed that the current lack of interest in these careers is damaging the US competitiveness in the global economy.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Workforce Study&lt;/span&gt;&lt;br /&gt;I took this opportunity to read a 2007 report on the "InformationTechnology Workforce Skills Study." The authors interview many employers to find what skills they desire in their employees. Though the study was aimed at the Boston area, their findings are applicable nationwide. Nothing new here, though lots of proof of what we know already: employers require team players, good communicators and good problem solving skills. The ability to use a particular software product or to write in a specific programming language is secondary. Interesting quotes from hiring managers:&lt;br /&gt;• "Technical skills get you the interview - soft skills get you the job"&lt;br /&gt;• "I ask 'Can I spend 4 hours in a car with this guy?'"&lt;br /&gt;&lt;br /&gt;I would be happy to send you a copy of this informative report in pdf format, just send me an email.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Google Map of Bicycle Paths&lt;/span&gt;&lt;br /&gt;The many convenient paths that are accessible only to cyclists or pedestrians are very difficult to find and appear no place on the web. There has been talk on the email list for the Silicon Valley Bicycle Coalition that we need to create one. At the ATE conference I met Allison Lenkeit Meezan who teaches GIS at Foothill. She said that she could find some students to help in such an effort. This could be the beginning of an internship program for students, and could result in valuable contacts at Google.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Web 2.0&lt;/span&gt;&lt;br /&gt;There was a presentation on how instructors could use Web applications to interact with their students. Even though I teach this stuff, I found out the following new information:&lt;br /&gt;• A free, simple Wiki is called PBWiki.com&lt;br /&gt;• If you create a spreadsheet with Google docs, it can contain a cell whose formula looks up a value anywhere on the web.&lt;br /&gt;• A blogger can use a product called "clustrmaps" that shows where in the world your readers are coming from.&lt;br /&gt;• A good site is pbs.org/cringely/nerdtv that will keep you up to date.&lt;br /&gt;• YouTube offers non profits a free "channel".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Regional Centers&lt;/span&gt;&lt;br /&gt;In order to facilitate the sharing of information and the centralization of resources, ATE has a number of Centers, some of which specialize in specific technologies. City College of San Francisco is applying for a grant in networking, and our grant will be using other centers to assist in proliferating our work. Because we don't have a center close by, I had forgotten this important resource.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The Spy Museum&lt;/span&gt;&lt;br /&gt;The day after the conference, I visited the Spy Museum with an old college friend. I have to mention this because they had an "experience" called "Operation Spy" In a team of 15, we were spies looking for a nuclear detonator, interrogating a double agent, picking a lock, disabling surveillance cameras, and more, all in one hour. I was struck by how this scenario got most of us going, feeling the adrenalin, working in a team. It was almost like being inside an episode of "24". Our leader, the museum employee, never stepped outside of his role. It made me think that when I place students into the scenarios I have created, I should strive for more realism like this.&lt;br /&gt;&lt;br /&gt;The rest of the museum is more traditional, watching videotapes of interviews with real spies telling stories of their work, and displays of evidence and details of real espionage, mostly during the cold war. My friend and I may have learned more from the more traditional part of the museum, but the scenario may have been deeper learning that will persist longer within us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-2009129961254073482?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/2009129961254073482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=2009129961254073482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2009129961254073482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/2009129961254073482'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2007/10/trip-report-national-science-foundation.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-5230351685520338338</id><published>2007-08-21T20:27:00.000-07:00</published><updated>2007-08-21T21:01:07.038-07:00</updated><title type='text'></title><content type='html'>There is a lot going on in the Silicon Valley!&lt;br /&gt;Especially when you are on summer vacation and so have your evenings free...&lt;br /&gt;&lt;br /&gt;9 Aug 07&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;~Python User Group Meeting with Alex Martelli speaking~&lt;/span&gt;&lt;br /&gt;http://www.baypiggies.net/&lt;br /&gt;Martelli is "Uber Tech Lead" for Google, and arguably the best Python programmer in the country (though he is Italian!) I went in order to publicize my Python class starting next month, but of course learned a few new things.&lt;br /&gt;http://www.aleax.it/&lt;br /&gt;&lt;br /&gt;10 Aug 07&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;~One day DreamWeaver training at AcademyX~&lt;/span&gt;&lt;br /&gt;I learned DreamWeaver because I am now the webmaster for the Experiential Learning Center which houses the NSF grant I am working on:&lt;br /&gt;http://elc.fhda.edu/&lt;br /&gt;&lt;br /&gt;14 Aug 07&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;~BayChi meeting with Guy Kawasaki~&lt;/span&gt;&lt;br /&gt;http://www.BayChi.org&lt;br /&gt;A very enthusiastic speaker, Kawasaki was responsible for marketing the Macintosh and inventing the position of technology evangelist. Recently Kawasaki created a new social website called "truemors.com", to which anyone can post via email, text messaging, and voicemail.&lt;br /&gt;&lt;br /&gt;This talk was about the fact that he created this new website for $12,000 and it now runs on only $2,000 per month. He contracted out the software development to a group in South Dakota, who used Wordpress to make it. He claims we don't need venture capitalists anymore, and he kept repeating "Life is good!"&lt;br /&gt;&lt;br /&gt;Kawasaki also said that coming up with good ideas is easy, and that implementation is hard. For example, here is a good idea: "Make an operating system for PC's that is fast, easy and bug free." He mentioned techcrunch.com and Michael Arrington repeatedly.&lt;br /&gt;&lt;br /&gt;15 Aug 07&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;~WebGuild meeting "Future of Online Platforms"~&lt;/span&gt;&lt;br /&gt;http://www.WebGuild.org&lt;br /&gt;The networking is the always the best part of this monthly meeting, together with the Google food that brings everyone out. I saw a former guest lecturer, Philippe Alexis, who asked me to find him a student intern. Rearden Commerce is looking for developer evangelist and salesforce.com is also hiring.&lt;br /&gt;&lt;br /&gt;They presented a good definition for "platform", which is "something that you can build an application on top of." Therefore a website like facebook is a platform, since developers are making applications that run only on facebook pages.&lt;br /&gt;&lt;br /&gt;Web 3.0 was defined as "web services with an open architecture, or web services for the masses."&lt;br /&gt;&lt;br /&gt;They also mentioned that there is an application that links Google calendar with iCalendar, called "Spanning Sink", that I may be able to make use of.&lt;br /&gt;&lt;br /&gt;19 Aug 07&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;~BarCampBlock in downtown Palo Alto~&lt;/span&gt;&lt;br /&gt;http://barcamp.org/BarCampBlock&lt;br /&gt;This is the third "unconference" for geeks that I have been to. Like the open source movement, these meetings are free, chaotic, and everyone is expected to contribute. I just lurk, but I don't take up much room...&lt;br /&gt;&lt;br /&gt;The first session I attended was about building applications for facebook. Unfortunately, they talked more about how one would market or make money from this activity, and I was more interested in how these applications are built. But it did shame me into joining facebook, so if you are there, please ask me to be your friend!&lt;br /&gt;&lt;br /&gt;The second session was about the "agile" software development process. This is a new process, and I think I mentioned it in previous posts to this blog. It is very similar to Extreme Programming (XP), iterative, or test driven development. I like to hear about this new process being adopted more widely, because the older methods have been found to fail miserably.&lt;br /&gt;Agile was described by these steps:&lt;br /&gt;1) user's story&lt;br /&gt;2) prioritize features&lt;br /&gt;3) choose the first chunk of work&lt;br /&gt;4) define what it means to be done with this chunk (that is the backlog)&lt;br /&gt;5) implement this chunk and repeat&lt;br /&gt;&lt;br /&gt;Agile also requires a daily scrum or standup which is a quick meeting taking approximately 15 minutes for 5 people to each tell what they did, what they are going to do next, and what is keeping them from getting something done.&lt;br /&gt;&lt;br /&gt;I knew all this before, but I did learn that wikis were invented to support this type of group work. The concept of starting with a "user's story" is similar but different from my classes where students write "use cases." The idea of a story might be easier for the students, and they always have a hard time with use cases.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-5230351685520338338?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/5230351685520338338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=5230351685520338338' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5230351685520338338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/5230351685520338338'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2007/08/there-is-lot-going-on-in-silicon-valley.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3220665592494549983</id><published>2007-06-18T23:43:00.000-07:00</published><updated>2007-08-21T20:38:24.362-07:00</updated><title type='text'></title><content type='html'>&lt;span style="font-weight: bold;"&gt;Google Developer Day&lt;/span&gt;&lt;br /&gt;31 May 2007&lt;br /&gt;San Jose Convention Center, with party at Googleplex in Mountain View in the evening&lt;br /&gt;&lt;br /&gt;I was really looking forward to this day - one had to register early and everything was free. The first day in years that I didn't pack a lunch when leaving home for a full day of work. Many new, free products were announced and made available in beta*. Familiar faces for me were mostly current and former students, my success stories...&lt;br /&gt;&lt;br /&gt;Google hereby opens up all its tools and data to the world, or to those that know how to take advantage of them. My superficial review says they did a great job of engineering these reusable parts of web applications. May the goddess bless the open source movement! I have to rethink my hatred of advertising if it brings us all this.&lt;br /&gt;&lt;br /&gt;• Keynote - 10:00 am&lt;br /&gt;    Google VP Engineering, Jeff Huber&lt;br /&gt;    Design of API** came from a third party 'reverse engineering' Google Maps&lt;br /&gt;    So Google made all these API's so others could use their work&lt;br /&gt;    Application languages mentioned: python, php, java, ruby&lt;br /&gt;    ½ billion unique visitors to Google per month&lt;br /&gt;    maps.google.com/preview       - mashup*** of mashups&lt;br /&gt;&lt;br /&gt;• Google Web Toolkit&lt;br /&gt;    1 year old&lt;br /&gt;    Allows you to write in Java and run in JavaScript&lt;br /&gt;    1 million downloads&lt;br /&gt;&lt;br /&gt;• Mashup Editor Announced&lt;br /&gt;    editor.googlemashups.com&lt;br /&gt;    A mashup requires: feed, UI, infrastructure (web server)&lt;br /&gt;    The user of this new free product doesn't have to know JavaScript&lt;br /&gt;    (Maship editor was built by Google in Java)&lt;br /&gt;&lt;br /&gt;• Gears Announced&lt;br /&gt;    A browser extension for offline use&lt;br /&gt;    Adobe, Dojo, Google (duh!) use it&lt;br /&gt;&lt;br /&gt;• Google Base Announced&lt;br /&gt;    Collection of data with its own query language.&lt;br /&gt;    A place to put your data where others can see it.&lt;br /&gt;    Connects buyers and sellers&lt;br /&gt;    Based on Atom publishing protocol and XML&lt;br /&gt;    Works well with Yahoo pipes&lt;br /&gt;&lt;br /&gt;• Ajax API's&lt;br /&gt;    ajaxsearch.typepad.com&lt;br /&gt;    maps&lt;br /&gt;&lt;br /&gt;* beta: prerelease version of software&lt;br /&gt;** API: Application Programmer Interface: the code required to run software modules written by others.&lt;br /&gt;*** Mashup: A website that contains information from more than one other website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3220665592494549983?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3220665592494549983/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3220665592494549983' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3220665592494549983'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3220665592494549983'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2007/06/google-developer-day-31-may-2007-san.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-3849879076790183874</id><published>2007-04-24T10:21:00.000-07:00</published><updated>2007-04-24T13:57:56.694-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='WEB 2.0 Conference Trip Report'/><title type='text'></title><content type='html'>Trip Report&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Web 2.0 Expo&lt;/span&gt;, 15-18 April 2007, Moscone Center &lt;br /&gt;&lt;br /&gt;This was a great conference, even with just the free "Expo Only" pass. I wasn't intending on doing all 3 days, but after the first day I couldn't stay away! This especially helped me with my big task for the quarter, which is making up a new 4-week long authentic project for my Ajax class.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;RICH INTERNET APPLICATIONS FOR USERS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Most require a browser only&lt;br /&gt;       e.g. free online office suites: Google has docs, spreadsheet, presentation, mail now.&lt;br /&gt;       ThinkFree opens and stores MS Word document format.&lt;br /&gt;&lt;br /&gt;Some require a runtime environment&lt;br /&gt;       They work when you are offline, then upload when you are online again.&lt;br /&gt;       More features and better performance because they leverage the client's processor too&lt;br /&gt;        Adobe Apollo is an example of this&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;APPLICATION DEVELOPMENT TOOLS FOR DEVELOPERS:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;IBM's qed&lt;br /&gt;       framework for creating mashups, still in alpha&lt;br /&gt;&lt;br /&gt;Yahoo pipes&lt;br /&gt;       visual editor for mixing rss feeds - http://pipes.yahoo.com/pipes/docs?doc=overview&lt;br /&gt;&lt;br /&gt;Google's GWT&lt;br /&gt;       allows you to program in Java, then it compiles to javascript to execute in  browser&lt;br /&gt;&lt;br /&gt;Ruby on Rails&lt;br /&gt;      implements MVC, writes SQL for you&lt;br /&gt;&lt;br /&gt;Adobe's Apollo&lt;br /&gt;       "for Flex developers", still in alpha, but already has an O'Reilly book on it!?&lt;br /&gt;&lt;br /&gt;Loads of JavaScript toolkits&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;TRENDS:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;People from all over the world attended, mostly engineers.&lt;br /&gt;&lt;br /&gt;Many, many Macintoshes present. This was true for presenters and attendees.&lt;br /&gt;It appears that now that we are developing for the web instead of developing for Windows,people are free to choose their dev machine and they are choosing Macs.&lt;br /&gt;&lt;br /&gt;Everyone doing agile development process (aka extreme, iterative.)&lt;br /&gt;&lt;br /&gt;Tools that allow users to collaborate are seen as the big benefit to web apps.&lt;br /&gt;&lt;br /&gt;Eric Schmidt of Google was asked "what is the next big thing?" His answers:&lt;br /&gt;      1) users need to carry the web around on their persons&lt;br /&gt;         (he is also on the board of Apple, which will be selling the iphone in June)&lt;br /&gt;      2) getting web info specific to your locale will give new value to users&lt;br /&gt;      3) Schmidt also pointed out that Google is building and using the biggest supercomputer ever.&lt;br /&gt;          He means of course the thousands upon thousands of servers, &lt;br /&gt;          forming a massively parallel processor that we all use to search the web&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NETWORKING:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; Web 2 Open (for open source) was a subconference "in the hallways" that was free to attend. &lt;br /&gt;        In fact, they got O'Reilly to give a free "Expo-only" badge for cheapskates like me!&lt;br /&gt;&lt;br /&gt;SocialText is a startup that makes wikis in downtown Palo Alto. Their CEO is a Foothill alum.&lt;br /&gt;&lt;br /&gt;I saw a former student, Christopher Balz, who now works for E*trade.&lt;br /&gt;&lt;br /&gt;Newton Chan was there, of course.&lt;br /&gt;&lt;br /&gt;The project for my Ajax students finally congealed: they will be creating a web page that is a mashup including weather, maps, a wiki, photos, etc to be used by a club.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;TO LOOK INTO:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Microformats&lt;br /&gt;ThinkFree - wp engine for inclusion in your web page&lt;br /&gt;Badges&lt;br /&gt;TextMe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-3849879076790183874?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/3849879076790183874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=3849879076790183874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3849879076790183874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/3849879076790183874'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2007/04/trip-report-web-2.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23681754.post-238812707910785551</id><published>2007-02-26T11:19:00.000-08:00</published><updated>2007-02-26T12:18:53.860-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visit to Microsoft'/><title type='text'></title><content type='html'>21 Feb 2007&lt;br /&gt;&lt;br /&gt;When I was sent to Seattle for an NSF workshop (summary of that at the end of this document), I thought I would add on a visit to the Microsoft Redmond campus. I had always wondered how things work there. I learned a lot, and took lots of notes so that I could share them with others. Michael Loceff also joined me for half of the interviews.&lt;br /&gt;&lt;br /&gt;Michael and I asked questions around 4 topics: how the company is organized, how they do their hiring, what their software development process is like, and specific questions about their products that colleagues wanted to know about. This document is organized around these four topics also. &lt;br /&gt;&lt;br /&gt;We interviewed the following Microsoft software engineers and found them extremely helpful and informative. The atmosphere was open and honest, with a spirit of generosity, collegiality and respect. In short, it was fabulous!&lt;br /&gt;&lt;br /&gt;1. Corey Snow: SDE (Software Development Engineer" in the Windows Server division, working on Microsoft Connect, a website for customers to connect with and report problems to Microsoft.&lt;br /&gt;&lt;br /&gt;2. Dan Sommerfield: SDE manager of Experimentation team.&lt;br /&gt;Building a platform to make A/B testing of a new feature easy for MSN site.&lt;br /&gt;&lt;br /&gt;3. Bradley Bartz: SDE manager of the team that plugs ASP.net functionality into MS Visual Studio.&lt;br /&gt;&lt;br /&gt;4. Eric and Derek: In the consulting group, they develop tools that consultants will use to create solutions for customers. Right now they are enabling Sharepoint for collaborative media.&lt;br /&gt;&lt;br /&gt;I would like to heartily thank Nima Dilmaghani for most of these contacts! I would also like to thank Chuck Lindauer for giving me the day off, and for paying substitutes to teach my classes for me. This trip would not have been possible without both of them.&lt;br /&gt;&lt;br /&gt;I. Organization&lt;br /&gt;&lt;br /&gt;There are three disciplines within the "profession" of software development at MS:&lt;br /&gt;1) PM: program manager role, serves as coordinator, they own the spec, serve as glue between customer and SDE, manage schedules, sometimes perform analysis. Not the boss of the other two.&lt;br /&gt;2) SDE: Software Development Engineer, also called "DEV", the implementor. Can be an individual contributor or a manager. Proficient  in multiple languages, fluidly moves between C++, C#, etc, etc, etc.....&lt;br /&gt;3) SDET: QA test engineers building test frameworks, infrastructure, write a lot of code in C# or VB. &lt;br /&gt;&lt;br /&gt;PLUS technician level job: Build facilitating engineer, orchestrating the builds and integration between branches. Scripting, batch files, PERL. There is a build lab that has more build engineers that write and running scripts, move files around. &lt;br /&gt;All have three have individual and management tracks available.&lt;br /&gt;&lt;br /&gt;ANOTHER technician level job: There is also the role of "Support engineer" - lower level than SDE. Maintain operations of servers, write one-off programs that help the operations of servers. More common in IT role, rather than in software development. Deploy new releases of products. Fight fires when servers go down.&lt;br /&gt;&lt;br /&gt;I would like to interview a manager of one of these aforementioned technician level jobs. &lt;br /&gt;&lt;br /&gt;Employees see their jobs as working with people to know what to develop. The engineers focus on how things work and the managers focus on how to get things done. They were all very customer oriented. If your customer has a problem, it is your problem, it doesn't matter where the problem came from.&lt;br /&gt;&lt;br /&gt;There is room for a straight coder who can't work with people, but they will be limited in their careers. There is especially room for someone who isn't good with communication in a bigger team, but even a senior individual contributer has to be able to communicate. A more balanced team (senior/junior, male/female, different cultures, etc) is best so everyone can get stretched and grow.&lt;br /&gt;&lt;br /&gt;Employees feel that if they have a new idea, they can pitch a business plan and if you get the go ahead, then you are on your own to convince people via a presentation.&lt;br /&gt;&lt;br /&gt;One example of a divison is The Developer Division, which is responsible for MS Visual Studio, and it contains many product units:&lt;br /&gt;Visual Web developer, WPF, VB, C#, Core IDE, Build Lab, engineering excellence&lt;br /&gt;&lt;br /&gt;The benefits here are great. Totally free healthcare for the whole family. If an employee's wife gets sick, MS will pay for a nanny to take care of the kids. Paternal leave of 1 month and maternal is 6 months paid. Valet parking.&lt;br /&gt;&lt;br /&gt;II. Hiring&lt;br /&gt;&lt;br /&gt;Three of the five engineers I interviewed had not been to college. Two who hadn't been to college were very young new hires. However, without a degree it seems like you  have to know someone or be a contractor first in order to get hired.&lt;br /&gt;&lt;br /&gt;Interview process is forward looking, as opposed to backward looking. What you can do now, as opposed to what you have done in the past. Demonstrations involve problem solving. No brain teasers. They ask problem solving cases based on real work, to see how the candidate's mind works through it.&lt;br /&gt;&lt;br /&gt;They are trying to find out if the candidate:&lt;br /&gt;a) has a good grasp of basic computer science concepts (e.g. complexity)&lt;br /&gt;b) can come up with an algorithm eg.customer log, find those appearing twice&lt;br /&gt;another eg: searching for products based on keywords&lt;br /&gt;c) can get up and code on the board&lt;br /&gt;d) can communicate through the problem solving process, can they communicate their design?&lt;br /&gt;&lt;br /&gt;One manager said he doesn't look at certificates, another said that certificates are just one of many things they look at in a candidate, but not a deal breaker. They don't hire someone with a skill set. A lot of people look for someone with Perl, or Ajax, but MS doesn't. The problem is that the technology changes too fast, so if you have someone with a specific skill, their skill will be outdated soon.&lt;br /&gt;&lt;br /&gt;We want smart people who can ramp up on technologies quickly, think on their feet, learn something and move on. Be fluid, agile. Soft skills are very important too, especially in program management (PM). But for a SDE, if there are no red flags (eg: beligerance) than they don't look too hard at the soft skills.&lt;br /&gt;&lt;br /&gt;They want to see if the candidate can think of multiple ways to solve a problem, analyze different approaches to solving a problem, give pros and cons and then make a recommendation and tell why one approach is best and THEN code it. A lot will come out of that process. They want a person who can reason their way through a problem.&lt;br /&gt;&lt;br /&gt;An engineer can easily create a poor performing applications. MS wants someone who can build a tool. People can develop bad habits in a language like VB, and then repeat these bad habits. MS wants people who are comfortable and efficient with object oriented languages. The degree isn't as important as the skills. Do they know what SCC (source code control) is?&lt;br /&gt;&lt;br /&gt;They don't hire anyone that won't have a long career path at Microsoft. &lt;br /&gt;&lt;br /&gt;HR has a list of soft skills that people are held up to on their performance reviews.&lt;br /&gt;&lt;br /&gt;III. Software Development Process&lt;br /&gt;&lt;br /&gt;In MS you will find a different dev process for each dev team. Things happen fast, sometimes specs come online the week the dev is scheduled to start coding. It isn't uncommon to see the specs even written after implementation. Sometimes specs rot. &lt;br /&gt;&lt;br /&gt;Here are some of the processes I learned about:&lt;br /&gt;&lt;br /&gt;a) Approx. 30% of MS say they are using Agile development process in some form or another.&lt;br /&gt;&lt;br /&gt;b) Everyone seems to use Test Driven Development: For every one line of product code, there are a dozen lines of test code written. &lt;br /&gt;&lt;br /&gt;c) In DEV Division, they have just started the "feature crew" model, which defines a feature, like javascript intellisense for example. Assign one or more DEV, TEST, PM's to the crew. This feature crew writes specs,etc. Before they check in their work, they must pass a quality gate, where they prove their test has a certain percentage of code coverage, etc. They continue to build in an island until they pass all the quality gates. Their feature crew manages themsleves, but they have to meet the ship train in order to ship their feature. This doesn't work well when features are dependent on each other.&lt;br /&gt;&lt;br /&gt;d) Product units used to ask the question "what is important for my customer?" and then build the feature. This resulted in a spreading of features with no overall direction to the new features that were going into VS. Now they define a pillar, which is a specific user scenario, which defines a high level goal for MS Visual Studio. All new features will now conform to a pillar, with exceptions of course.&lt;br /&gt;&lt;br /&gt;e) They do user testing also.&lt;br /&gt;&lt;br /&gt;They outsource much of the dev work to local vendors. Some to India too. Some MS vendors are trying to develop software by contract on an Indian reservation in Montana because it is so much cheaper. Near shore especially for testing. They like doing this in India though, because they work at night. They give the testers offshore the test frameworks and tools that were developed inside MS. &lt;br /&gt;&lt;br /&gt;Specs can take the form of use cases, but the form of the specs vary. Sometimes they take the form of an API.&lt;br /&gt;&lt;br /&gt;Tools:&lt;br /&gt;Using C# and javascript, Visual Studio, command line build core XT.&lt;br /&gt;Managed code is run in a runtime like Java.&lt;br /&gt;They build several  times per day.&lt;br /&gt;SQL server and tools to help deploy code, get your code onto production machines.&lt;br /&gt;&lt;br /&gt;There is a repository of shared code, especially for test automation of a browser. &lt;br /&gt;There is less leveraging of shared code at MS than at other, more open source companies.&lt;br /&gt;&lt;br /&gt;Coding Style&lt;br /&gt;They have a wiki for their style guidelines.&lt;br /&gt;They have regular code reviews and code inspections, where everyone at the meeting has already looked over the code and come prepared to discuss it.&lt;br /&gt;There is an engineering excellence group.&lt;br /&gt;The common belief at MS is that you need to have code review and diverse engineering teams in order to write good code.&lt;br /&gt;&lt;br /&gt;IV. Products&lt;br /&gt;I was not able to get a lot of product information because the employees did not seem to have a lot of information about product groups other than their own. I also did not sign a non-disclosure agreement. &lt;br /&gt;&lt;br /&gt;The next release of VS will have support for WPF. Expression is focussed on a designer as a user, and WPF is focussed more on coders, who use MSVisual.&lt;br /&gt;&lt;br /&gt;Consultants are using C#, windows communication foundation, ajax extensions 1.0 for asp.net 2.0. They are mandated to drive their own technical solutions back into the product groups in specific directions.&lt;br /&gt;&lt;br /&gt;Unfortunately I was also not able to get any information about academic programs and products. After spending a lot of time and effort, I found that Mark Hayes, MS Academic Liason in Redmond, was simply not able to help me in any way. Nima Dilmaghani, who I met at Code Camp, rescued the situation for me! &lt;br /&gt;&lt;br /&gt;NSF Workshop In Bellevue, WA:&lt;br /&gt;We were creating the specifications for a national resource center to support the revitalization of IT education. I was honored to be one of only 12 faculty invited from across the country. Most everybody was interested in Scenario-Based Learning, and many of them were already teaching in this way. &lt;br /&gt;&lt;br /&gt;Interesting recommendations from my fellow workshop participants:&lt;br /&gt;1) Googlezon, short video view of the future:&lt;br /&gt;                  http://epic.makingithappen.co.uk/new-master1.html&lt;br /&gt;2) A different academic liason at Microsoft: &lt;br /&gt;                  Van Eden&lt;br /&gt;3) A graphical way to teach beginning Java programming from the ACM Java Task Force, including turtle graphics:&lt;br /&gt;                   http://jtf.acm.org/&lt;br /&gt;4) Coders bid on small programming jobs at:&lt;br /&gt;                   http://rentacoder.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23681754-238812707910785551?l=elainesoutdooradventures.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elainesoutdooradventures.blogspot.com/feeds/238812707910785551/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23681754&amp;postID=238812707910785551' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/238812707910785551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23681754/posts/default/238812707910785551'/><link rel='alternate' type='text/html' href='http://elainesoutdooradventures.blogspot.com/2007/02/21-feb-2007-when-i-was-sent-to-seattle.html' title=''/><author><name>Elaine</name><uri>http://www.blogger.com/profile/11577554363492296043</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
