<?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-5210409</id><updated>2012-02-16T21:41:40.208-05:00</updated><category term='disabilities'/><category term='ruby'/><category term='mobile'/><category term='passive house design'/><category term='zlides'/><category term='rss video'/><category term='beer'/><category term='learnmobile'/><category term='diversity'/><category term='javascript'/><category term='books'/><category term='Laws of Media'/><category term='Ed Roberts'/><category term='engineers'/><category term='superbowl ads'/><category term='knuth'/><category term='novarug'/><category term='ux'/><category term='api'/><category term='open source'/><category term='ale'/><category term='Coding_JS_Apps'/><category term='TheRailsEdge'/><category term='McLuhan'/><category term='landis'/><category term='obama'/><category term='jsconf'/><category term='web 2.0'/><category term='rails'/><category term='coding'/><category term='juno'/><category term='abcedmindedness'/><category term='video'/><category term='microformat'/><category term='cycling'/><category term='cranky'/><category term='pop culture'/><category term='stanford'/><category term='sproutcore'/><category term='social media'/><category term='FASTforward07'/><category term='Jared Diamond'/><category term='reallysimple'/><category term='house design'/><category term='renee'/><category term='json'/><title type='text'>ABCEDmindedness</title><subtitle type='html'>Daly blog unless thee forget.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default?start-index=26&amp;max-results=25'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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>478</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5210409.post-9048079481028972107</id><published>2012-01-19T09:44:00.000-05:00</published><updated>2012-01-19T09:46:39.438-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='ux'/><title type='text'>Reading, Bookmarks and Pads</title><content type='html'>Somewhere between the &lt;a href="http://zite.com/" target="_blank"&gt;Zite app&lt;/a&gt;, favorites on Twitter and &lt;a href="http://readitlaterlist.com/" target="_blank"&gt;Read It Later&lt;/a&gt; is an opportunity. For example, I often discover stuff on my phone using twitter but I want to read it on my tablet or desktop. Why not every time I favorite a tweet it now shows up in Zite on my tablet. This is how bookmarks are suppose to work between synced browsers.&lt;br /&gt;
&lt;br /&gt;
So as a developer I should probably be asking "Should this event, like pressing a button, trigger a sync that would show up on my other devices?"&lt;br /&gt;
&lt;br /&gt;
BTW: Love Zite on my Touchpad.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-9048079481028972107?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/9048079481028972107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=9048079481028972107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/9048079481028972107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/9048079481028972107'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2012/01/reading-bookmarks-and-pads.html' title='Reading, Bookmarks and Pads'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-1340403151304205821</id><published>2012-01-13T10:47:00.000-05:00</published><updated>2012-01-17T21:32:02.548-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='learnmobile'/><title type='text'>How to get a mobile phone developer job - Part 4 #learnmobile</title><content type='html'>&lt;div class="p1"&gt;
I was asked to write up my recommendations for learning mobile. All four parts are listed at the end. &amp;nbsp;Please leave comments of other favorite blogs or online magazines.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;hr /&gt;
&lt;br /&gt;
There are several recommended online magazines. When you read a good article, remember to use twitter and post to your blog. In no particular order:&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://smashingmagazine.com/"&gt;smashingmagazine.com&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- especially appropriate is the coding tab. Also articles tagged with css. Like several other magazines, they are now publishing ebooks, but they will cost a few dollars.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://listapart.com/"&gt;listapart.com&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- there are so many articles enjoy exploring. CSS articles are a strength. Also ebooks.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://net.tutsplus.com/"&gt;net.tutsplus.com&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- good source of tutorials both for free and for a fee. They also sell books.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://dailyjs.com/"&gt;dailyjs.com&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- generally for the advanced javascript user, but enough articles on learning that you should not ignore.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://html5rocks.com/"&gt;html5rocks.com&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- good tutorials about the latest features you can get in a browser. If nothing else, it should give you inspiration for your own apps.&lt;/blockquote&gt;
&lt;div class="p1"&gt;
Are you&amp;nbsp;overwhelmed? Everyone is. You don't have to read all of the articles. Find the ones the interest you and written in a style you like. Take your time. And you don't need to know everything. Just do something everyday.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
The important thing is to create and contribute. It is easy to gain experience at no cost, have some fun and join the world of mobile developers.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Comments welcomed.&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job.html"&gt;Intro&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2011/12/how-to-get-mobile-phone-developer-job.html"&gt;Part 1&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_11.html"&gt;Part 2&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_12.html"&gt;Part 3&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_13.html"&gt;Part 4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-1340403151304205821?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/1340403151304205821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=1340403151304205821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/1340403151304205821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/1340403151304205821'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_13.html' title='How to get a mobile phone developer job - Part 4 #learnmobile'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-3577382417167369785</id><published>2012-01-12T10:40:00.000-05:00</published><updated>2012-01-17T21:31:05.585-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='learnmobile'/><title type='text'>How to get a mobile phone developer job - Part 3 #learnmobile</title><content type='html'>&lt;div class="p1"&gt;
I was asked to write up my recommendations for learning mobile. This is Part Three.&amp;nbsp;&lt;a href="http://blog.abcedmindedness.com/2011/12/how-to-get-mobile-phone-developer-job.html"&gt;Part One is here&lt;/a&gt;&amp;nbsp;and Part Two is here. In this part I give you some ideas for simple mobile apps. Please leave ideas for other simple apps in comments.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;hr /&gt;
&lt;br /&gt;
&lt;div class="p1"&gt;
&lt;b&gt;Next round&lt;/b&gt;. You'll have to write some code. To do so you'll need to learn a computer language, storing data and about browser styles. For mobile you need to learn some JavaScript.&lt;/div&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://eloquentjavascript.net/"&gt;eloquentjavascript.net&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- to this point everything has been fairly easy. Learning JavaScript is the one requirement for any mobile app job. You could buy books or pay for courses, but one of the best books is free:&amp;nbsp;Eloquent&amp;nbsp;JavaScript. And if you use the web version, it is interactive.&amp;nbsp;Highly recommended. (&lt;a href="http://stackoverflow.com/questions/11246/best-resources-to-learn-javascript"&gt;&lt;span class="s1"&gt;Stackoverflow has other recommendations&lt;/span&gt;&lt;/a&gt;.)&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://json.org/"&gt;json&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- you'll often have to read or store data in your JavaScript apps. Json is the format for data in JavaScript. You should master how to read and create Json. It is fairly simple, but it may take a while to grok it. After you do, you may be struck at the beauty of it. Using json in your early projects is&amp;nbsp;&lt;a href="http://www.hunlock.com/blogs/Mastering_JSON_%28_JavaScript_Object_Notation_%29"&gt;&lt;span class="s1"&gt;a good way to master it&lt;/span&gt;&lt;/a&gt;.&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
css and HTML5 - you'll have to know basic CSS in a mobile job. Few people know CSS very well - you need to know the basics like setting colors. Move on from there to HTML5.&amp;nbsp;&lt;a href="http://sixrevisions.com/css/20_websites_learn_master_css/"&gt;&lt;span class="s1"&gt;20 sites to help you&lt;/span&gt;&lt;/a&gt;.&lt;/blockquote&gt;
&lt;div class="p1"&gt;
Again, don't be overwhelmed. Just learn what you need to get your weekly mobile app published. You don't need dancing, modern fonts to make your app useful. Getting your first JavaScript Ajax code to read a Json file and display it in your HTML page will be thrilling.&lt;br /&gt;
&lt;br /&gt;
There are lots of different ways to learn how to code. Here are a couple to consider.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;span class="s1"&gt;&lt;a href="http://www.codeyear.com/"&gt;codeyear&lt;/a&gt;&lt;/span&gt;&amp;nbsp;- sign up to get weekly emails to help you learn to code. This is the only service that I have not personally used, but it backed by some high profile organizations. Thousands have signed up.&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="http://lifehacker.com/5744113/learn-to-code-the-full-beginners-guide" target="_blank"&gt;lifehacker&lt;/a&gt; - the learn to code series is short set of articles to teach you the basics. It makes it look less overwhelming than the long books.&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
jquery - I've recommend jquerymobile without specifically mentioning jquery. It is helpful to learn basic jquery stuff like Ajax and html(), but before learning basic javascript first is required. The jquery website recommend &lt;a href="http://docs.jquery.com/Tutorials" target="_blank"&gt;some tutorials&lt;/a&gt;.&lt;/blockquote&gt;
Do a search if you want to find others. Don't concentrate on mastering JavaScript, CSS, HTML for jQuery. These are just tools to help create that weekly web app.&lt;br /&gt;
&lt;br /&gt;
Just keep at it everyday. Everyday use git. Everyday write some code from a tutorial or your own project using git and github. Everyday blog about what tutorials you read, what you coded and what you learned. Everyday tweet about your blog post or highlight a good tutorial. Some days you may have several blog post and tweets. Everyday.&lt;br /&gt;
&lt;br /&gt;
There is a fourth part about recommend daily reading.&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job.html"&gt;Intro&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2011/12/how-to-get-mobile-phone-developer-job.html"&gt;Part 1&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_11.html"&gt;Part 2&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_12.html"&gt;Part 3&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_13.html"&gt;Part 4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-3577382417167369785?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/3577382417167369785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=3577382417167369785' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3577382417167369785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3577382417167369785'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_12.html' title='How to get a mobile phone developer job - Part 3 #learnmobile'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-5777040387813171659</id><published>2012-01-11T10:08:00.000-05:00</published><updated>2012-01-11T10:08:00.688-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='learnmobile'/><title type='text'>How to get a mobile phone developer job - Part 2 #learnmobile</title><content type='html'>&lt;br /&gt;
&lt;div class="p1"&gt;
I was asked to write up my recommendations for learning mobile. &lt;a href="http://blog.abcedmindedness.com/2011/12/how-to-get-mobile-phone-developer-job.html"&gt;Part One is here&lt;/a&gt;. In this part I give you some ideas for simple mobile apps. Please leave ideas for other simple apps in comments.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;b&gt;Every week publish a mobile app&lt;/b&gt;. This is not impossible especially using jQueryMobile and tutorials. It does not have to be 100% unique. Pick a tutorial. Do the step-by-step coding. Then modify if you want. Push it to github and put it in your public dropbox account. Blog about it. Tweet about it. In no time you'll have a portfolio of apps to link to in your resume.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Besides doing the tutorials, here are some simple mobile apps you can do without any JavaScript coding. Basically any list can become a mobile app.&lt;/div&gt;
&lt;ol class="ol1"&gt;
&lt;li class="li1"&gt;Your mobile resume. Rewrite your resume into jQueryMobile.&lt;/li&gt;
&lt;li class="li1"&gt;Learnmobile. Rewrite this post into a mobile app.&lt;/li&gt;
&lt;li class="li1"&gt;Your mobile apps. Link to all of your mobile apps in dropbox. Update weekly.&lt;/li&gt;
&lt;li class="li1"&gt;Favorite recipes. Make a list of food you make often with pictures or videos.&lt;/li&gt;
&lt;li class="li1"&gt;Best articles. Instead of just bookmarking resources you like create a mobile app.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="p1"&gt;
Once you have a little JavaScript under your belt you there are more options.&lt;/div&gt;
&lt;ol class="ol1"&gt;
&lt;li class="li1"&gt;dynamic list - store data in Json, read Json and create list. Convert you mobile apps dynamic.&lt;/li&gt;
&lt;li class="li1"&gt;add to list - create a list that can be added to and stored in local storage.&lt;/li&gt;
&lt;li class="li1"&gt;todo - perhaps the most common app people try. Keep it simple.&lt;/li&gt;
&lt;li class="li1"&gt;rate it - provide a list of items to be rated and resort list after each rating&lt;/li&gt;
&lt;li class="li1"&gt;#learnmobile tweets - use the tweeter search api to get the latest tweets with the hashtag.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Your next steps are in Part 3.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-5777040387813171659?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/5777040387813171659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=5777040387813171659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5777040387813171659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5777040387813171659'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_11.html' title='How to get a mobile phone developer job - Part 2 #learnmobile'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-8501443378907192745</id><published>2012-01-10T16:33:00.000-05:00</published><updated>2012-01-17T21:30:38.756-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='learnmobile'/><title type='text'>How to get a mobile phone developer job - Part 1 #learnmobile</title><content type='html'>Over lunch I was talking with a friend about how difficult it is for young people to find jobs. After mentioning the hiring I see for mobile&amp;nbsp;development, she asked me to write up my recommendations for learning mobile. &amp;nbsp;This is Part One.&lt;br /&gt;
&lt;br /&gt;
Like most things, you have to show some experience before getting hired. Here are the steps I recommend you take to start gaining experience.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="http://meetup.com/" target="_blank"&gt;Meetup.com&lt;/a&gt; - Get an account and look for meetups in your area related to mobile. Attend some, listen and say hello. At many of the mobile ones that I attend mobile companies are hiring. In the Washington DC area there are probably a couple mobile related meetups per week. Lots of people go with no experience just hoping to learn.&amp;nbsp;You'll figure out in a month which ones are for you.&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="https://www.google.com/chrome" target="_blank"&gt;chrome&lt;/a&gt; - I strongly recommend you start using Chrome as your browser. It is the best desktop browser for developing mobile apps. View source  on web pages to learn how designers put together some HTML features.  Leave the developer tools enabled to see css and javascript. Try  changing some css on a live webpage to learn css better. &lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
Git - You are going to need git on your computer. Every time you start a project you use git to create a repository. A repository gives you version control - a safe way to revert to an old version of your code if you need to. This makes it all the easier to experiment with you code. The easiest way to setup and learn git is on &lt;a href="http://help.github.com/"&gt;help.github.com&lt;/a&gt; (see next).&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="http://github.com/" target="_blank"&gt;Github.com&lt;/a&gt; - If you are going to be a developer, you'll need a github account and get good at using github. Set up a free account. There are over a millions users and even more repositories. Follow a couple and contribute. The great thing is that you don't always have to contribute code. Even documentation is welcomed.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="http://dropbox.com/" target="_blank"&gt;Dropbox.com&lt;/a&gt; - Set up a free account and set it up on your laptop. You can also set it up on your phone and tablet, though this is optional. Do NOT develop code in your dropbox folder. Instead use git on your local hard drive and github. What you'll be using dropbox for cheap web hosting of your code. Put a file in the public folder&amp;nbsp; (&lt;a href="https://www.dropbox.com/help/16" target="_blank"&gt;video&lt;/a&gt;) and you'll then be able to access that file from the web. Very handy for testing on phones and tablets or sharing with a friend.&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
Text editor - If you are coding you'll need a text editor. You can spend lots of money but no need to do that yet. If you want to take the full plunge get the free IDE called Eclipse. But for now, all you probably need is something like NotePad++ for windows.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
HTML - Learn very, very simple HTML. To start all you need to know is how to type in a simple page with a title and a couple of paragraphs. HTML5 will come later.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="http://www.jquerymobile.com/" target="_blank"&gt;jQueryMobile.com &lt;/a&gt;- You can write a mobile app in 4 hours using jQueryMobile. Really. It won't very graphic, but few non-games are. All you need is a web browser and a text editor (not Microsoft Word). The &lt;a href="http://jquerymobile.com/demos/1.0/docs/about/getting-started.html" target="_blank"&gt;quick start guide&lt;/a&gt; should be enough, but there are many tutorials on jQueryMobile. When you have finished writing it, post it to github.&amp;nbsp;Then do one a week (see Part 2).&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
blog - Any blogging service will do. I use blogger.com and &lt;a href="http://posterous.com/" target="_blank"&gt;posterous.com&lt;/a&gt;. Others use wordpress, typepad or tumblr. &amp;nbsp;Every day - repeat - every day write a short post about what you did to learn mobile apps that day. While not many people may read your blog, you need a place to capture what you are learning and share it with others.&amp;nbsp;Your potential employer will also see that you are serious by working everyday.&lt;/blockquote&gt;
&lt;blockquote class="tr_bq"&gt;
&lt;a href="http://twitter.com/" target="_blank"&gt;twitter.com&lt;/a&gt; - You'll need a twitter account. Write up what you are trying to do in the profile. Tweet daily. Point out good tutorials you've found. Highlight good blog posts you've written. Thank people. You'll also find a few people to follow. Use the hashtag #learnmobile so others can follow your tweets - and maybe develop a community of learners.&lt;/blockquote&gt;
&lt;br /&gt;
When you do all of the above, you will start building up some experience. People will know that you are serious about learning how to become a mobile developer. You'll also have your first app published on github. And hopefully, your contribution to another github project was accepted which you now add to your resume.&lt;br /&gt;
&lt;br /&gt;
You should be able to start all of the above within 8 hours. Perhaps 4. And at no cost. You'll be on your way.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Keep at it everyday&lt;/b&gt;. Everyday use git. Every day write some code from a tutorial or your own project using git and github. Everyday blog about what tutorials you read, what you coded and what you learned. Everyday tweet about your blog post or highlight a good tutorial. Some days you may have several blog posts and tweets. &lt;b&gt;Everyday&lt;/b&gt;.&lt;br /&gt;
&lt;br /&gt;
After you do the above, you are ready for &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_11.html"&gt;Part 2&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job.html"&gt;Intro&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2011/12/how-to-get-mobile-phone-developer-job.html"&gt;Part 1&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_11.html"&gt;Part 2&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_12.html"&gt;Part 3&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_13.html"&gt;Part 4&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-8501443378907192745?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/8501443378907192745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=8501443378907192745' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8501443378907192745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8501443378907192745'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/12/how-to-get-mobile-phone-developer-job.html' title='How to get a mobile phone developer job - Part 1 #learnmobile'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-3245710314679456463</id><published>2012-01-10T11:08:00.000-05:00</published><updated>2012-01-17T21:30:03.367-05:00</updated><title type='text'>How to get a mobile phone developer job - #learnmobile</title><content type='html'>Over lunch I was talking with a friend about how difficult it is for young people to find jobs. After mentioning the hiring I see for mobile&amp;nbsp;development, she asked me to write up my recommendations for learning mobile. So I started writing and it became this series of posts that I'll publish this week.&lt;br /&gt;
&lt;br /&gt;
This series is on mobile web apps. Not native iPhone or Android apps. Some call it the HTML5 stack. I think of it as JavaScript, CSS3 and HTML5. There is a great future writing apps this way and then using PhoneGap.&lt;br /&gt;
&lt;br /&gt;
I sincerely welcome comments on this series, especially people that have been recently hired into a mobile job. You may have a different approach that others would like to hear about.&lt;br /&gt;
&lt;br /&gt;
My qualifications to write this series may be considered minimal. I don't hire mobile developers. A couple of my mobile apps are in production but none are consumer hits. I don't write apps for the iPhone or Android apps stores. However, I've probably written nearly 50 mobile web apps in the last several years. I now prototyped many projects using jQuerymobile. My first JavaScript application was published in 1996.&lt;br /&gt;
&lt;br /&gt;
And besides, a friend asked me to write this up. So hopefully it is useful to them and others.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job.html"&gt;Intro&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2011/12/how-to-get-mobile-phone-developer-job.html"&gt;Part 1&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_11.html"&gt;Part 2&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_12.html"&gt;Part 3&lt;/a&gt; | &lt;a href="http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job_13.html"&gt;Part 4&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-3245710314679456463?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/3245710314679456463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=3245710314679456463' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3245710314679456463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3245710314679456463'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2012/01/how-to-get-mobile-phone-developer-job.html' title='How to get a mobile phone developer job - #learnmobile'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-3409463132769004369</id><published>2011-12-29T08:45:00.000-05:00</published><updated>2011-12-29T08:45:33.609-05:00</updated><title type='text'>Test Driven API Development Thoughts</title><content type='html'>&lt;br /&gt;
&lt;div class="p1"&gt;
This was the basis for my lightning talk at #nodedc on December 14, 2011. It received positive feedback.&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
I wish I was better at Test Driven Development, I guess most developers do to. For me Rails started it, jQuery pushed it, but I still don't do it. But I'm trying. I'm talking build the test, then write the code. I may have a way to do the walk.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
I have this idea for TDD for APIs. I want to take the idea of TDD outside the realm of a language or framework. In consuming an API the underlying language does not matter. Therefore, using TDD for developing APIs or developing with APIs should be outside the language or framework.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
This project could also be a template for good practices in creating RESTful API. For example, a RESTful API is suppose to be about one resource. While that is good in theory, in practice it often works out differently. So however the design works, it needs flexibility.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
There are probably three part to the project: an engine, a reporter and builder. The engine would read a json message, run the tests and report back. The builder would create the json message for the engine. The builder form would allow you to enter a URL/resource and test it. The result would be filled into the expect result field, which could be overwritten. This information could be used for documentation as well.&lt;br /&gt;
&lt;br /&gt;
It could be especially useful for apps that depend on a variety of APIs from different sources. Run the tests regularly to make certain the APIs are still functioning as expected.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Or maybe this already exists? Or maybe this depends on Mocha? Or other existing packages?&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Anyway, that is the concept. Thanks to the @nodedc for listening.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
&amp;nbsp;PS One other feature, it should be able to run the same tests against a variety of environments: dev, qa, production, server01, server02, etc.&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
PSS. Since a RESTful API is like GETting a web page, it probably has broader uses than just APIs.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-3409463132769004369?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/3409463132769004369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=3409463132769004369' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3409463132769004369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3409463132769004369'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/12/test-driven-api-development-thoughts.html' title='Test Driven API Development Thoughts'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-3762873868485496219</id><published>2011-11-24T03:11:00.001-05:00</published><updated>2011-11-24T05:09:44.527-05:00</updated><title type='text'>The GitHub Revolution</title><content type='html'>&lt;blockquote class="tr_bq"&gt;
&lt;span class="Apple-style-span" style="background-color: white;"&gt;We shape our buildings; thereafter they shape us. - Churchill&lt;/span&gt;&lt;/blockquote&gt;
Once again, Mikeal Rogers has a thoughtful and insightful post called "&lt;a href="http://www.mikealrogers.com/posts/apache-considered-harmful.html"&gt;Apache Considered Harmful&lt;/a&gt;."&amp;nbsp;I have no opinion or personal interaction with the Apache Foundation. Rather my focus is on his view of git versus subversion. He calls it "The GitHub Revolution." I could not agree more even though I'm not very active on GitHub.&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
On GitHub the language is not&amp;nbsp;&lt;em&gt;code&lt;/em&gt;, as it is often characterized, it is&amp;nbsp;&lt;strong&gt;contribution&lt;/strong&gt;. GitHub presents a person to person communication system for contributions. Documentation, issues, and of course code, travel between personal repositories.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote&gt;
The communication medium is the contribution itself. Its value, its merit, its intentions, all laid naked for the world to see. There is no hierarchy or politic embedded in the system. The creator of a project has a clear&amp;nbsp;&lt;em&gt;first mover advantage&lt;/em&gt;&amp;nbsp;but the possibility is always there for its position to be supplanted by a fork, creating a social imperative to manage contributions in a satisfactory manor to her community.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote&gt;
GitHub is truly a system of anarchism, in the most classic sense of the term. It is a system of communication and contribution that is without a central organization or institution of governance. Sure, it is hosted, developed, and maintained by someone but they do not enforce any set of governance or process over the users of the system.&amp;nbsp;&lt;/blockquote&gt;
&lt;blockquote&gt;
It is my belief that we are, right now, in the middle of a very large evolution in the ecology of open source. The language of contribution has infected a new generation of open source contributors. Much of the potential first imagined by open source pioneers is being realized by high school kids on a daily basis who contribute effectively with less effort than has ever been required.&lt;/blockquote&gt;
The post goes on to discuss the bias of Apache to Subversion as a repository.&lt;br /&gt;
&lt;br /&gt;
The Git versus Subversion has a long history but that has mainly been a &lt;a href="http://whygitisbetterthanx.com/"&gt;comparison of features&lt;/a&gt;. For me that is like comparing the features of television versus radio, or books versus ebooks. Mikeal's argument is a more important and an interesting view. I'm looking at the influence of the underlying technologies.&lt;br /&gt;
&lt;br /&gt;
Git is not Subversion. They are different media, different technologies. Different media do not allow the same content. Just as a newspaper cannot tell a story the same way as television, so too Git projects will not be the same as Subversion projects. You cannot cram a GitHub project into subversion. People are also using GitHub for writing blogs, books and many different ways than simply a code repository. As Mikael points out there is substantial communications in the hub. The technologies are different. What is created is different.&lt;br /&gt;
&lt;br /&gt;
The GitHub revolution is part of a larger cultural change. As &lt;a href="http://gigaom.com/2011/04/07/what-do-don-draper-and-github-have-in-common/?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+OmMalik+%28GigaOM%3A+Tech%29"&gt;Om Malik&lt;/a&gt; pointed out, &lt;a href="http://dribble.com/"&gt;Dribble&lt;/a&gt; and &lt;a href="http://soundcloud.com/"&gt;SoundCloud&lt;/a&gt;&amp;nbsp;are part of this revolution. The results of Hackatons, Camps and Startup Weekends are impressive. These projects, services, projects and communities are our new cultural artefacts which are changing &lt;a href="http://westcoasttechmeetseastcoasthustle.com/blog/how-to-recruit-a-when-youre-an-early-stage-startup.html"&gt;hiring practices&lt;/a&gt; and people's identity.&lt;br /&gt;
&lt;br /&gt;
The definition of Open Source is also changing perhaps to the breaking point. We probably need a new term to describe the content being created on these platforms. Times are changing.&lt;br /&gt;
&lt;br /&gt;
A technology choice is important and Mikeal has provided a strong argument for choosing GitHub. In addition, I expect that in the future we may see less companies choose the Apache way, just as a generation ago we saw companies no longer see the need to move from NASDAQ to the NYSE.&lt;br /&gt;
&lt;span style="background-color: white; text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-3762873868485496219?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/3762873868485496219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=3762873868485496219' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3762873868485496219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3762873868485496219'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/11/github-revolution.html' title='The GitHub Revolution'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-8057191628505687494</id><published>2011-10-06T12:21:00.000-04:00</published><updated>2011-10-06T12:41:47.785-04:00</updated><title type='text'>Speaking after Steve Jobs introduces the Mac</title><content type='html'>On January 22, 1984 the Mac was introduced with the very &lt;a href="http://www.youtube.com/watch?v=OYecfV3ubP8"&gt;famous Apple SuperBowl ad&lt;/a&gt;. It was spectacular. Steve Jobs did his famous keynote two days later &lt;a href="http://www.youtube.com/watch?v=2B-XwPjn9YY"&gt;to introduce the Mac&lt;/a&gt;.&amp;nbsp;27 years ago the web did not instantly let customers watch Steve Jobs and his presentation skills were just becoming known. Not many people saw the Mac keynote. So he hit the road to SoftCon to show the software support for the new computer.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
SoftCon, was held on month later in New Orleans. I regularly gave talks about software retailing having started the first software store in 1979. We had a small chain of stores at that time. I was scheduled to speak on the good and bad of software packaging.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Enter Steve Jobs.&amp;nbsp;In a very large room he introduces the Mac to the software industry. This was a big moment. He showed the $1.5 million dollar Ridley Scott ad, professional slides and had a large staff. &amp;nbsp;He was well prepared and had masterful timing. Thousands of people in the room applauded when he finished.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I was on next. I had to speak after Steve Jobs. It really didn't matter that my presentation was 35mm slides after professional photos. I had no Ridley Scott ad. I had nothing. The topic of software packaging&amp;nbsp;was insignificant after seeing the Mac for the first time. The&amp;nbsp;legibility&amp;nbsp;of software titles was not as important.&amp;nbsp;I hurried through my talk and sat down. It was exhausting.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Soon after I bought a Mac.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;
&lt;span class="Apple-style-span" style="color: #222222; font-family: arial, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-8057191628505687494?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/8057191628505687494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=8057191628505687494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8057191628505687494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8057191628505687494'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/10/speaking-after-steve-jobs.html' title='Speaking after Steve Jobs introduces the Mac'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-3581459005009893138</id><published>2011-09-28T09:39:00.000-04:00</published><updated>2011-09-28T09:39:22.315-04:00</updated><title type='text'>The New Framework Discussion (Part One)</title><content type='html'>mikeal posted "&lt;a href="http://www.mikealrogers.com/posts/a-new-direction-for-web-applications-.html"&gt;A new direction for web applications&lt;/a&gt;" And I left the following comment.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;I agree about MVC is not the right fit. For me it breaks down even for Rails with JavaScript on the client. Model is database term that does not fit async data. RESTful is certainly part of the mix as are other HTTP inputs and IP streams. These don't fit the model analogy either.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;The "new" framework is probably much more of a mosaic than a flow (or flowchart). Not certain how well the neighbors (parts of the mosaic) know each other. Probably some zoning laws, but everyone is able to do their own thing (except after midnight) so long as certain ordinances are not broken.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;My other thought is that these new apps are much like a room full of people. Conversations between a few people are great. Lectures work. But getting a room to act together requires something like Roberts Rules of Order.&amp;nbsp;&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;Writing internet code is certainly has a long way to go.&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
I wanted to expand on that post and comment about the New Framework. I think there are several influences shaping its development.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Async. The first big push was Ajax. The latest is node.js. Data no longer has a flow or a sequence, it is more quantum. REST is the structure for async.&lt;/li&gt;
&lt;li&gt;Speed. Look at the popularity of Steve Souders and Nicholas Zakas talks and books on speed. I hope the new framework fits the techniques they and others are discussing. For example, fewer requests doesn't always play well with frameworks that generate lots of directories and files.&lt;/li&gt;
&lt;li&gt;Events. Even a small app has a population of events. The new framework must provide a logical structure to these events.&lt;/li&gt;
&lt;li&gt;CSS, HTML and JS. Most of us work with all three. For example, what use to be in JS is now often in HTML5. The new framework will have to consider all three.&lt;/li&gt;
&lt;li&gt;History. Presenters are going back and looking at the development of other technologies and looking for good&amp;nbsp;patterns. Douglas Crockford was looking at the transition from manuscripts to books in his talk at CapitolJS. This search is common for any new technology. Marshall McLuhan showed that a new technology&amp;nbsp;retrieves&amp;nbsp;an older technology. It will be interesting to see what is retrieved by the new framework.&lt;/li&gt;
&lt;li&gt;Testing. Of course.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
You can probably argue that there are other forces at work here. For example, I could argue pro and cons of templating.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
I'm sure someone is working on the new framework right now, it is "just now well distributed" yet.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-3581459005009893138?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/3581459005009893138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=3581459005009893138' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3581459005009893138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3581459005009893138'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/09/new-framework-discussion-part-one.html' title='The New Framework Discussion (Part One)'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-8109943514320646692</id><published>2011-09-19T12:39:00.000-04:00</published><updated>2011-09-20T12:52:19.594-04:00</updated><title type='text'>CapitolJS 2011 [#JSConf East and #capjs]</title><content type='html'>One attends a JavaScript conference to learn how to use the language better. The conference is not intended to teach the beginner. There are assumptions of a working knowledge of the language, probably extensive experience in coding and an interest in node.js. However, I think there were themes or lessons in the presentations at this conference that would help any JavaScript developer.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;The future of the language is amazingly bright&lt;/b&gt;. Mike Taylor showed that even though the browser Navigator has very unreliable properties that the future new properties (e.g., online, geolocation, etc.) hold great promise. Pamela Fox had example after example of APIs that JavaScript can access for functionality, public data and user data. And Brendan Eich demonstrated the work that Intel has done to access parallel-processing power with an engine called RiverTrail (on github) [Infoworld article][http://www.infoworld.com/d/application-development/intel-river-trail-adds-parallel-dimension-javascript-173347].&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Performance in JavaScript is now in the hands of developers now&lt;/b&gt;. Nickolas Zakas promoted the use of both defer and async for script loading. So testing must include performance testing with no action taking longer than 100ms. This is the max for a responsive system. Alex Seston also emphasised the need for non-blocking code while on the topic of third party JS. Alex Russel went deep into working web engines in browsers so coders know what is behind some simple DOM changes.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;JS, the programming language of the web, is amazingly rich&lt;/b&gt;. Douglas Crockford looked at how we code from the viewpoint of Head and Gut (see book Science of Fear) and how the Gut often gets in the way. Using tools and the good parts of the language (language subsetting) we can use our Head more and produce less errors. "Programming requires more precision than writing in English." Language conventions take time. For example the line breaks and spacing introduced by Medieval manuscript copyists. This language history perspective was echoed in Mike Taylor's talk and emphasized by Brendan Eich in noting how young the language is. It is mindblowing what the JS community can code in 140 bytes on Jed Schmidt's site (http://140byt.es.com).&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Growth is in mobile and it effects all&lt;/b&gt;. Rebecca Murphey showed the new toura mulberry framework for creating content rich mobile apps built atop phonegap. http://toura.github.com/mulberry/ Joe McCann works in the mobile area and provided a comprehensive view of both coding and using node.js with Express, Stylus, Smoosh, and Commander as tools for creating any app. it is clear for the Head to win over Gut that automating tools are needed.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Node.js is still growing&lt;/b&gt;. Mikeal Rodgers ran down the most popular packages for node including npm, optimist, request and of course socket.io. But there is still room for improvement, especially in debugging. And again, node was mentioned by most presenters. Ben Combee showed how to access the node running in webOS and stated that webOS will soon be updated to version 0.4.11. Paolo Fraqomeni talked about how the design of node is especially suited for the enterprise and the event emitter.&lt;br /&gt;
&lt;br /&gt;
As I see them available, I'll link to the decks for each presentation.&lt;br /&gt;
&lt;br /&gt;
Douglas Crockford&lt;br /&gt;
&lt;a href="http://www.slideshare.net/unwiredben/capitoljs-enyo-nodejs-the-state-of-webos"&gt;Ben Combee&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.slideshare.net/nzakas/high-performance-javascript-capitoljs-2011"&gt;Nicholaz Zakas&lt;/a&gt;&lt;br /&gt;
&lt;a href="https://github.com/mikeal/slides/tree/master/capitaljs"&gt;Mikael Rogers&lt;/a&gt;&lt;br /&gt;
Jed Schmidt&lt;br /&gt;
&lt;a href="http://miketaylr.com/pres/capjs/"&gt;Mike Taylor&lt;/a&gt;&amp;nbsp;UPDATED&lt;br /&gt;
&lt;a href="http://www.slideshare.net/rmurphey/introducing-mulberry"&gt;Rebecca Murphey&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://alexsexton.com/thirdparty"&gt;Alex Sexton&lt;/a&gt;&lt;br /&gt;
Alex Russell&lt;br /&gt;
&lt;a href="https://docs.google.com/present/view?id=0AY8YnwtqDuQ3ZGc1cHhwY2dfMzQxZ2dkN2tqbnM&amp;amp;hl=en_US"&gt;Joe McCann&lt;/a&gt;&lt;br /&gt;
Paolo Fragomeni&lt;br /&gt;
&lt;a href="http://client-side-apis.appspot.com/"&gt;Pamela Fox&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://www.slideshare.net/BrendanEich/capitol-js"&gt;Brendan Eich&lt;/a&gt;&amp;nbsp;UPDATED&lt;br /&gt;
&lt;br /&gt;
The conference was terrific not only because of the speakers but thanks to the work of my friends Laura and Chris Williams. Also because of sponsors there was time to network at parties both before and after the event.&lt;br /&gt;
&lt;br /&gt;
Thanks. A wonderful community. &lt;br /&gt;
&lt;br /&gt;
UPDATE: &lt;a href="http://www.flickr.com/photos/voodootikigod/6163885570/in/photostream"&gt;Group Photo&lt;/a&gt;&lt;br /&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/5210409-8109943514320646692?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/8109943514320646692/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=8109943514320646692' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8109943514320646692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8109943514320646692'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/09/capitoljs-2011-jsconf-east-and-capjs.html' title='CapitolJS 2011 [#JSConf East and #capjs]'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-5233063927003720310</id><published>2011-09-11T07:37:00.001-04:00</published><updated>2011-09-11T07:37:59.213-04:00</updated><title type='text'>Distinction between sites and apps is RSS</title><content type='html'>&lt;br /&gt;
&lt;div class="p1"&gt;
James Pearce wrote a substantial &lt;a href="http://tripleodeon.com/2011/09/of-sites-and-apps/"&gt;post about the distinction between sites and apps&lt;/a&gt;. He says the distinction matters only to developers and not for users. I think there is another measure of the distinction than his fat versus thin client. This is my response.&amp;nbsp;&lt;/div&gt;
&lt;div class="p2"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p3"&gt;
The distinction is only relevant, as you say, for developers. The reason is simply because "interface is content." Or perhaps put another way "interface is the message."&lt;/div&gt;
&lt;div class="p3"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Take some content and provide a simple HTML interface. Put the same content in a JS/CSS3/HTML5 interface and the message is different. People will "read" it differently and have a different user experience.&lt;/div&gt;
&lt;div class="p3"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
So the distinction becomes blurred in my view as soon as you cross the pure HTML line. Ask yourself at what point does adding JS/CSS3/HTML5 take the content from site to app? I suggest there is not a brightline using that (ie. fat client) as a measure.&lt;/div&gt;
&lt;div class="p3"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
However, there may be another measure. Again, it may not be a brightline, but it does help.&lt;/div&gt;
&lt;div class="p3"&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class="p1"&gt;
Sites can support an RSS feed while apps don't.&amp;nbsp;&lt;/div&gt;
&lt;div class="p1"&gt;
&lt;br /&gt;
&lt;hr /&gt;
&lt;br /&gt;
Let me add to the comment that I left.&lt;br /&gt;
&lt;br /&gt;
The post argues that the distinction fat versus thin, that the code resides on the browser versus the server. It also argues that users don't care.&lt;br /&gt;
&lt;br /&gt;
First, take the New York Times or any newspaper or news source. Does it really matter if I read the story in an app or off their site? They support RSS so I can read the story on other sites, in RSS readers and apps that support RSS.&lt;br /&gt;
&lt;br /&gt;
Then take an app like Pulse or other news apps. I can read an MSNBC story with the app or on the MSNBC site. But I don't find Pulse stories on MSNBC. Pulse cannot support an RSS feed because it does not create stories.&lt;br /&gt;
&lt;br /&gt;
So I would argue that the&amp;nbsp;user experience between the Pulse app and the New York Times app is substantially different because the users know the source of the content. Therefore, as a developer, you'd design the app to the user expectation.&lt;br /&gt;
&lt;br /&gt;
Now that is a simple, legacy example. &amp;nbsp;Let's add some web features. Many sites, not just news sites, all users to comments. Comment systems support RSS feeds or other notification methods (e.g., email). &amp;nbsp;Certainly comments are not an app.&lt;br /&gt;
&lt;br /&gt;
More modern day are sites like Quora. The content is not news stories but there is new, relevant content. They use the headline of "Feed" on the main page. Clearly Quora is a site.&lt;br /&gt;
&lt;br /&gt;
And finally, let's look at the classical app: the todo app. Put a todo app on any smartphone for personal use and all of the generated content can stay on the phone. It would be a useful app without any interaction with the internet. Even if you sync the todos with other devices which would require servers somewhere, the bulk of the app in on the phone. But more importantly the data source is on the phone. You could sync with RSS (or a JSON equivalent) but is that feed really useful for the public? It is core to the purpose?&lt;br /&gt;
&lt;br /&gt;
In summary, you've got a site when the content supports a RSS feed. The purpose of an app is confined to the device. The distinction my not matter to developers, but user know when a site can support an RSS feed, even if they don't know what RSS is.&lt;/div&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-5233063927003720310?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/5233063927003720310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=5233063927003720310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5233063927003720310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5233063927003720310'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/09/james-pearce-wrote-substantial-post.html' title='Distinction between sites and apps is RSS'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-7912166957271274679</id><published>2011-07-22T09:50:00.003-04:00</published><updated>2011-07-22T09:52:43.531-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jsconf'/><title type='text'>Update to Roger McNamee's TED Talk, Watch This One</title><content type='html'>This version of the talk includes a hypothesis about many personal screens that leads to discussing the cloud. To borrow a phrase, "It is the screens, stupid." &lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://fora.tv/2011/06/28/Elevation_Partners_Director_and_Co-Founder_Roger_McNamee#fullprogram"&gt;http://fora.tv/2011/06/28/Elevation_Partners_Director_and_Co-Founder_Roger_McNamee#fullprogram&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-7912166957271274679?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://fora.tv/2011/06/28/Elevation_Partners_Director_and_Co-Founder_Roger_McNamee#fullprogram' title='Update to Roger McNamee&apos;s TED Talk, Watch This One'/><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/7912166957271274679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=7912166957271274679' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/7912166957271274679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/7912166957271274679'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/07/update-to-roger-mcnamees-ted-talk-watch.html' title='Update to Roger McNamee&apos;s TED Talk, Watch This One'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-5641665113174462137</id><published>2011-07-22T04:37:00.000-04:00</published><updated>2011-07-22T04:37:10.984-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jsconf'/><title type='text'>Why JavaScript and #jsconf matter</title><content type='html'>&lt;iframe allowfullscreen="" frameborder="0" height="390" src="http://www.youtube.com/embed/aR6jLD1USW0" width="640"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
JavaScript is the key to HTML5 as described above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-5641665113174462137?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/5641665113174462137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=5641665113174462137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5641665113174462137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5641665113174462137'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/07/why-javascript-and-jsconf-matter.html' title='Why JavaScript and #jsconf matter'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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://img.youtube.com/vi/aR6jLD1USW0/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5210409.post-7423049871532086488</id><published>2011-04-05T21:20:00.001-04:00</published><updated>2011-04-05T21:20:55.469-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jsconf'/><category scheme='http://www.blogger.com/atom/ns#' term='Coding_JS_Apps'/><title type='text'>My JSConf ToDo List</title><content type='html'>With great anticipation, I will attend JSConf and NodeConf. To get the most out of that time, there are a few items I want to brush up on prior to hitching up the wagon and heading West. I've got a list, some big and some small and in no particular order.&lt;br /&gt;
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;Full Sail Ale. jsbeer prep is first on the list.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://eloquentjavascript.net/"&gt;Eloquent JavaScript&lt;/a&gt;. Finish reading especially the object oriented chapter.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://jquerymobile.com/"&gt;jquery mobile&lt;/a&gt; alpha4. Convert some code including j360.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sencha.com/"&gt;Sencha&lt;/a&gt;. Run through the tutorials and screencasts.&lt;/li&gt;
&lt;li&gt;learn about &lt;a href="http://sass-lang.com/"&gt;SASS &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;jquery plugin. Write a very simple plugin.&lt;/li&gt;
&lt;li&gt;outrigger app site. Create landing page about outrigger app.&lt;/li&gt;
&lt;li&gt;outrigger app. Finish demo data. Ready phonegap feature.&lt;/li&gt;
&lt;li&gt;get n&lt;a href="http://sass-lang.com/"&gt;ew Android&lt;/a&gt; phone and install couchdb. Make iphone into an ipad touch for &lt;a href="http://www.civilizationrevolution.com/iphone/"&gt;Civ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;learn git well enough to be comfortable with github&lt;/li&gt;
&lt;li&gt;put j360 into git and write readme&lt;/li&gt;
&lt;li&gt;use &lt;a href="http://build.phonegap.com/"&gt;build.phonegap&lt;/a&gt; for j360 and outrigger&lt;/li&gt;
&lt;li&gt;colossal caves into github&lt;/li&gt;
&lt;li&gt;hours reading nodejs blogs and reinstalling on my laptop&lt;/li&gt;
&lt;li&gt;put code into a js module, maybe my search parser&lt;/li&gt;
&lt;li&gt;publish regex attribute for input tutorial for Coding JS Apps&lt;a href="http://jsapps.posterous.com/"&gt; http://jsapps.posterous.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;fix &lt;a href="http://raydaly.com/"&gt;raydaly.com&lt;/a&gt; and &lt;a href="http://raydaly.org/"&gt;raydaly.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;publish "New Enterprise Network" talking paper&lt;/li&gt;
&lt;li&gt;use ace&lt;/li&gt;
&lt;li&gt;publish on Coding JS Apps an article on using couchdb as development environmen&lt;/li&gt;
&lt;li&gt;new photo for my blogs, twitter, google, quora and facebook&lt;/li&gt;
&lt;li&gt;hitch up the wagon &lt;/li&gt;
&lt;/ol&gt;
I'll probably add to the list and update this post. As I reread the speakers applications, I'll probably get inspired to do more. This blog or my Coding JS Apps blog will have the results. &lt;br /&gt;
&lt;br /&gt;
Also I need to review what I wrote &lt;a href="http://blog.abcedmindedness.com/2010/04/todo-after-jsconf.html"&gt;after last year's JSConf:&amp;nbsp; a pesky list of ToDos&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-7423049871532086488?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/7423049871532086488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=7423049871532086488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/7423049871532086488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/7423049871532086488'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/04/my-jsconf-todo-list.html' title='My JSConf ToDo List'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-5643927393993984618</id><published>2011-01-23T07:31:00.002-05:00</published><updated>2011-01-23T07:35:53.630-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jsconf'/><title type='text'>15 Years of WebApps in JavaScript</title><content type='html'>15 years ago on &lt;a href="http://raydaly.com/index.html#htmlJiveRelease"&gt;January 23, 1996&lt;/a&gt;, HTMLjive - an &lt;a href="http://raydaly.com/htmljive"&gt;HTML editor written in JavaScript&lt;/a&gt; was release. It is considered the first serious JavaScript program. In short order, it went viral, was on websites around the world and translated into several languages.&lt;br /&gt;
&lt;br /&gt;
HTMLjive was a simple HTML editor but it incorporated a preview window, three modes of HTML coding and on-screen help. The inline HTML editors, like the one I'm using right now to write this blog, have added features, but HTMLjive had the basic features you take for granted today. &lt;br /&gt;
&lt;br /&gt;
I am often asked, "Did you expected JavaScript application (web apps) to become popular?" Yes. Shortly after HTMLjive was released, I starting writing the book "&lt;a href="http://www.amazon.com/Special-Using-JavaScript-Andrew-Wooldridge/dp/0789707896/ref=tmm_pap_title_1?ie=UTF8&amp;amp;qid=1295783101&amp;amp;sr=1-4"&gt;Using JavaScript&lt;/a&gt;" with several co-authors. One of my great memories is giving an author talk called "JavaScript Makes Your Site An Application" at a local book store a few months later. So, absolutely.&lt;br /&gt;
&lt;br /&gt;
The community that supports JavaScript has come a long way since. &lt;a href="http://www.aminutewithbrendan.com/"&gt;Brendan Eich&lt;/a&gt;, father of JavaScript, has received the recognition he deserves. &lt;a href="http://javascript.crockford.com/"&gt;Douglas Crockford&lt;/a&gt; gave us JSON and is the JavaScript evangelist. &lt;a href="http://www.adaptivepath.com/ideas/essays/archives/000385.php"&gt;Ajax&lt;/a&gt; pushed the language back into popularity and Google showed what could be done with Google Maps and Gmail. Now the annual &lt;a href="http://twitter.com/#%21/jsconf"&gt;JSconf&lt;/a&gt; features the greatest advances, technologies and speakers. Most of the people that deserve a mention for their contributions to the community were or are speakers at JSconfs.&lt;br /&gt;
&lt;br /&gt;
JavaScript is no longer just for the browser. My web apps, both mobile and desktop, have JavaScript on both the browser with libraries like &lt;a href="http://jquery.com/"&gt;jquery&lt;/a&gt; and on the server with &lt;a href="http://www.couchone.com/"&gt;couchdb&lt;/a&gt; and &lt;a href="http://node.js/"&gt;node.js&lt;/a&gt;&lt;span id="goog_678016976"&gt;&lt;/span&gt;&lt;span id="goog_678016977"&gt;&lt;/span&gt;. Thank you to the community. It continues to be a joy to code in JS because of you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-5643927393993984618?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://web.archive.org/web/19990430050639/http://www.cris.com/~raydaly/htmljive.html' title='15 Years of WebApps in JavaScript'/><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/5643927393993984618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=5643927393993984618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5643927393993984618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5643927393993984618'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/01/15-years-of-webapps-in-javascript.html' title='15 Years of WebApps in JavaScript'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-3983931317728928897</id><published>2011-01-11T05:26:00.000-05:00</published><updated>2011-01-11T05:26:08.804-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='api'/><category scheme='http://www.blogger.com/atom/ns#' term='json'/><category scheme='http://www.blogger.com/atom/ns#' term='reallysimple'/><title type='text'></title><content type='html'>Dave's plan to rethink RSS has potential. I've always liked the 
simple concept of title, link, description (text) and categories. Making
 a RESTful, JSON API would be great. I've been dabbling towards that 
with a project I've been working on that started with Zlides.com and 
OPML combined with JQuery Mobile. So I've been giving this some thought.&lt;br /&gt;
Dave
 likes Twitter. The Twitter API is proven itself and lessons have been 
learned. Lots of people know it. So my comments below reflect my usage 
of the Twitter API, particularly the search API.&lt;br /&gt;

&lt;ol&gt;
&lt;li&gt;JSONP. The ReallySimple API should support JSONP. The primary 
benefit is cross-domain support so I can write browers apps hosted on 
any site and use the reallysimple.org api. This would make it much 
easier to write mobile apps using JavaScript, HTML5 and CSS. For an 
example, look at the &lt;a _mce_href="http://apiwiki.twitter.com/w/page/22554756/Twitter-Search-API-Method:-search" href="http://apiwiki.twitter.com/w/page/22554756/Twitter-Search-API-Method:-search"&gt;Twitter Search wiki &lt;/a&gt;and how they support JSONP. Also look a &lt;a _mce_href="http://api.jquery.com/jQuery.getJSON/" href="http://api.jquery.com/jQuery.getJSON/"&gt;jquery's support for JSONP&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Categories. &lt;a _mce_href="http://cyber.law.harvard.edu/rss/rss.html#ltcategorygtSubelementOfLtitemgt" href="http://cyber.law.harvard.edu/rss/rss.html#ltcategorygtSubelementOfLtitemgt"&gt;RSS has always supported categories&lt;/a&gt; and I was rather suprised not to see them in the API. Much of web 2.0 worked leveraged categoris and I think it is an important addition.&lt;/li&gt;
&lt;li&gt;RESTful. Several people have commented on using the RESTful verbs.
 I certainly support that for GET and POST but since DELETE and PUT are 
harder to implement there should be more discussion of that.&lt;br /&gt;
  &lt;/li&gt;
&lt;li&gt;Extending Really Simple. &lt;a _mce_href="http://cyber.law.harvard.edu/rss/rss.html#extendingRss" href="http://cyber.law.harvard.edu/rss/rss.html#extendingRss"&gt;RSS supports namespaces&lt;/a&gt;
 and there should be someway to extend the Really Simple api. Steve 
Moyer commented about having extra fields like _rev in the API. In my 
view, extra fields would be fine but probably ignored by most clients. 
It would probably be better to suppress them, but in some 
implementations there are cases were the extra fields would add a 
feature. More discussion needed.&lt;/li&gt;
&lt;li&gt;getPost. Given an idPost, I would want to get the JSON for just 
that post. The id could be the permalink. And perhaps, maybe I supply a 
link and get back an array of posts which could be all of the comments 
made to a post.&lt;/li&gt;
&lt;li&gt;Enclosure. Very encouraged to see it supported. Important in this world of videos, photo blogs and other media files.&lt;/li&gt;
&lt;li&gt;OAuth. Twitter and others have moved away from basic authentication for a reason. I would suggest &lt;a _mce_href="http://apiwiki.twitter.com/w/page/22554657/OAuth-Examples" href="http://apiwiki.twitter.com/w/page/22554657/OAuth-Examples"&gt;supporting OAuth like twitter&lt;/a&gt;.&lt;br /&gt;
  &lt;/li&gt;
&lt;li&gt;No date. The format of title, description and link is so powerful 
that it applies to more than just reverse chronological blogs. The web 
content management system (CMS) that I wrote had RSS feeds as its 
foundation. [I'll have to add the ReallySimple API to it.]&amp;nbsp; And see 
example of Wikipedia below. However, I would think that this might be an
 expected field. Or perhaps it is better to ignore it for right now 
given the discussion that will start about date format.&lt;br /&gt;
  &lt;/li&gt;
&lt;/ol&gt;
ReallySimple maps to ReallySimple HTML pages as well. It supports 
title, link, description and hopefully category. This also maps directly
 to standard Web 1.0 content web pages where one HTML page contains 
content on a subject. For example, this &lt;a _mce_href="http://en.wikipedia.org/wiki/Daly_languages" href="http://en.wikipedia.org/wiki/Daly_languages"&gt;Wikipedia page on Daly Languages&lt;/a&gt;
 has a title and obviously a link. The content is inside the body tag, 
less the navigation, footers and banners. Categories in the metadata and
 displayed on the page. So I should be able to take the primary content 
of this page and easily put it into a JSON message using the 
ReallySimple fields. Lots of features could be built off having an 
entire page in JSON.&lt;br /&gt;
&lt;br /&gt;
I look forward to using the ReallySimple API with mobile apps and Couchdb apps.&lt;br /&gt;
&lt;br /&gt;
Cross posted from: &lt;a href="http://raydaly.posterous.com/really-simple-api-first-comments"&gt;http://raydaly.posterous.com/really-simple-api-first-comments &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-3983931317728928897?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/3983931317728928897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=3983931317728928897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3983931317728928897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3983931317728928897'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/01/daves-plan-to-rethink-rss-has-potential.html' title=''/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-9068526771133513561</id><published>2011-01-01T13:20:00.000-05:00</published><updated>2011-01-01T13:20:04.932-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='beer'/><category scheme='http://www.blogger.com/atom/ns#' term='ale'/><title type='text'>Recommended Beers of 2010</title><content type='html'>This was a great year for beer in Northern Virginia. Full Sail is now distributed and Great Divide's beers are more widely available. Also, Bob Tupper got back into business after a few years of dryness. Finally, Church Key opened a few block from my office in DC. Hope you have a chance to try some of these beers this year.&lt;br /&gt;&lt;br /&gt;Great Divide - &lt;b&gt;Collette&lt;/b&gt;&amp;nbsp;&amp;nbsp; This is a special. Grab as much as you can when you see it. I spent a night driving from store to store buying everything that was left. The focus on this beer is not the hops, but the yeast. It is a different taste. This is a farm house ale with yeast in the bottle. My friends laugh at me because my pours end up with overflowing heads. Great in the spring or summer. We had it the other night with Raclette and it was excellent. &lt;br /&gt;&lt;br /&gt;Great Divide - &lt;b&gt;Titan IPA&lt;/b&gt; We first discovered this perfect IPA from Great Divide before the Collete. It is great when a brewery makes a beer so good that you want to try everything that they produce. The balance in the IPA between the hops is totally refreshing and not overwhelming like others fighting the hop wars. I'm never disappointed when pulling one of these out of the fridge.&lt;br /&gt;&lt;br /&gt;Appalacian - H&lt;b&gt;oppy Trails IPA&lt;/b&gt;&amp;nbsp; This IPA made me really appreciate the IPA style. It made be go back and try some others again like Full Sail. The semi-high alcohol punch of an IPA has to be balanced with a strong hoppy flavor supported by a robust malt. A regular in my fridge.&lt;br /&gt;&lt;br /&gt;Tupper's &lt;b&gt;Hop Pocket Ale&lt;/b&gt;&amp;nbsp; Bob Tupper introduced me to so many different beers at the Brick. I was thrilled when Old Dominion started brewing his Ale because I knew he liked Celebration Ale. This was my friend's favorite until Tupper pulled it from Old Dominion. After a long hiatus, Bob found a brewery and his Ale is back. Dominion did a better job, but still wonderful to have it back.&lt;br /&gt;&lt;br /&gt;Schlafly -&lt;b&gt; Christmas Ale&lt;/b&gt; Normally this spot would be reserved for Sierra Nevada's Celebration Ale. But this spot opened up this year because of the disastrous change in the recipe. But Schlfly's might have made it anyway. The hint of orange made it a wonderful taste in a full ale for the season. I recommended it to everyone in my annual Christmas Beer tasting this year.&lt;br /&gt;&lt;br /&gt;Heavy Seas - &lt;b&gt;Winter Storm&lt;/b&gt; I've enjoyed this for the past several Christmas seasons. It is now my favorite Christmas ale with a great Extra Special Bitter flavor. I'll stock up this ale. Nearly a perfect cold night brew to warm your bones. Arrg!&lt;br /&gt;&lt;br /&gt;Breckenridge - &lt;b&gt;Extra ESB&lt;/b&gt; I love ESBs. My favorite was Fredrick's Red Ale, but that is now defunct. Had another great one in New Orleans about 10 years ago. It is so hard to find a good one, nevertheless a perfect one. Breckenridge's is not perfect but better than good. It is amazingly consistent. ESBs can be so smooth. I keep this one around.&lt;br /&gt;&lt;br /&gt;Full Sail - &lt;b&gt;Pale Ale&lt;/b&gt;. About 20 years ago at the Brickskeller the bartender introduced me to Full Sail Ale and Red Seal Ale. They were mana from heaven. They would be my first request when walking down those stairs and seeing all the cans. But distribution stopped and I finally gave up the search. I had to visit the brewery when in Oregon but never expected to see it back on the East Coast. This was the great surprise of the year. And try their IPA as well. Both wonderful.&lt;br /&gt;&lt;br /&gt;Full Sail - &lt;b&gt;Session&lt;/b&gt; Found this at a bar and have stocked up with both the regular and the dark Session. It comes in a Red Stripe like bottle and is a tasty lager with only 4% alcohol.&amp;nbsp; Often I don't need the full IPA punch so this is a tasty alternative. Expect it to be a regular this summer.&lt;br /&gt;&lt;br /&gt;Bell's - &lt;b&gt;Oberon&lt;/b&gt;&amp;nbsp; Our summer beer for the past few summers. I cannot help but think about a warm summer day and the pleasant taste of this wheat beer. You know summer has arrived when Oberon is on the shelves.&amp;nbsp; Coming again soon.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-9068526771133513561?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/9068526771133513561/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=9068526771133513561' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/9068526771133513561'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/9068526771133513561'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2011/01/recommended-beers-of-2010.html' title='Recommended Beers of 2010'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-1317087452120588671</id><published>2010-12-31T22:07:00.000-05:00</published><updated>2010-12-31T22:07:36.229-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='books'/><title type='text'>Recommended Books of 2010</title><content type='html'>Books of 2010&lt;br /&gt;&lt;br /&gt;Probably because of ebook without DRM from O'Reilly, there are substantial more books on this year's list that previous year. However, I don't think I finished as many this year. The range is about the same with fewer home improvement and more technical books. The highly recommended are listed below with a few other notes.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What Technology Wants&lt;/b&gt; gets my highest recommendation even though I'm still reading it. It is so good, I'm in no hurry. At first I was very skeptical that I could be convinced the technology ever wants anything, Kelly is persuading me. I compare it to&amp;nbsp; the books by Jared Diamond like &lt;b&gt;Collapse&lt;/b&gt;. Those books are like Ancient History while Kelly's book is like Modern History.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Switch: How to Change When Change Is Hard&lt;/b&gt; really changed my perspective of my organization. I believe change is hard at any organization that is larger than 300 or so. This book provides example of how change that transformed large companies. Also, lots of economic and behavioral research. The only pdf about presentation was critical to reshaping the introduction to my major presentation last spring and the concept is now taking hold. The Heath brothers older book, &lt;b&gt;Made To Stick&lt;/b&gt;, is also recommended. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Cognitive Surplus&lt;/b&gt; deserves the recognition that it has received. For the past several years, since &lt;b&gt;Tipping Point&lt;/b&gt;, it has been easier to find so called "economic" books that read more like urban anthropology books. This is the best one along that vein this year. It will be interesting to review after I finish &lt;b&gt;What Technology Wants&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;High Performance JavaScript&lt;/b&gt; is killer. It really shows how far JavaScript has come as a serious language. In working on a team project that was 98% JavaScript, I constantly refereed to this book. Search the ebook really improved my work. If you are serious about JavaScript this book is in your library.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Start Small, Stay Small&lt;/b&gt; was purchased directly from the author online as an ebook just as I had purchased Getting Real from 37 Signals a few years ago. Walling talks about start-ups from the developer viewpoint. He makes an excellent case about marketing from day one and out-sourcing the developer work even though you might be a developer. Much more practical that &lt;b&gt;Rework&lt;/b&gt;, which I found tired, but that maybe because I regularly read the 37 Signals blog.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;App Savvy&lt;/b&gt; and &lt;b&gt;Tapworthy&lt;/b&gt; are two excellent books about building and marketing mobile apps. While the focus is on the iphone, the advice works for nearly any mobile device. Maybe this is a factor of being ebooks, but it is hard for me to distinguish between the two. I've referred to both while working on an idea of an app. After the proof of concept, I expect to re-read both as I write up a marketing plan. Finally, O'Reilly's webinar lead me to these books and I recommend watching a few during the coming year.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Book of Gossage&lt;/b&gt; is this year's McLuhan book for me. Gossage was the SanFrancisco ad man that worked with McLuhan to convince the world that McLuhan was important. Included in the book is "Understanding McLuhan" which is an excellent article.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More Not So Big Solutions for Your Home&lt;/b&gt; was better than the other kitchen books I either bought or borrowed from the library. Mostly old articles from the defunct Inspired House magazine, it got me unstuck on the redesign of our kitchen - which is next year's project.&lt;br /&gt;&lt;br /&gt;Possible additions.There are a few on the list below that I cannot yet recommend. I'm behind on my reading but these look very promising from my reading so far. &lt;b&gt;Where Good Ideas Come From&lt;/b&gt; is certain to be read soon and I expect to recommend it. &lt;b&gt;Taming Text's&lt;/b&gt; focus on text and not media is refreshing. It may stand the test of time. &lt;b&gt;Business Model Generation&lt;/b&gt; looks awesome, but I gave it as a gift, so it maybe a while until I read it.&amp;nbsp; Buy the print version of this one. Sometime in the future, I'll have to review all of the economic, research books like &lt;b&gt;Sway&lt;/b&gt; and &lt;b&gt;Drive&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Good reading to you.&lt;br /&gt;&lt;br /&gt;List of 2010 Books&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&amp;nbsp; The Investment Answer&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Business Model Generation&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Sway: The Irresistible Pull of Irrational Behavior&lt;/li&gt;
&lt;li&gt;&amp;nbsp; The Food Matters Cookbook&lt;/li&gt;
&lt;li&gt;&amp;nbsp; The Book of Gossage&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Where Good Ideas Come From&lt;/li&gt;
&lt;li&gt;&amp;nbsp; What Technology Wants&lt;/li&gt;
&lt;li&gt;&amp;nbsp; McLuhan: A Guide for the Perplexed&lt;/li&gt;
&lt;li&gt;&amp;nbsp; The Creation of the Media&lt;/li&gt;
&lt;li&gt;&amp;nbsp; More Not So Big Solutions for Your Home&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Cognitive Surplus&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Rapid Problem Solving with Post-It Notes&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Drive: The Surprising Truth About What Motivates Us&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Kitchens That Work&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Rocket Surgery Made Easy&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Rework&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Unfolding the Napkin&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Switch: How to Change When Change Is Hard&lt;/li&gt;
&lt;li&gt;&amp;nbsp; JavaScript Patterns&lt;/li&gt;
&lt;li&gt;&amp;nbsp; App Savvy&lt;/li&gt;
&lt;li&gt;&amp;nbsp; CSS Cookbook&lt;/li&gt;
&lt;li&gt;&amp;nbsp; JavaScript Cookbook&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Tapworthy&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Regular Expressions Cookbook&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Apache Cookbook&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Search Patterns&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Designing Web Interfaces&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Designing Social Interfaces&lt;/li&gt;
&lt;li&gt;&amp;nbsp; High Performance JavaScript&lt;/li&gt;
&lt;li&gt;&amp;nbsp; RESTful Web Service Cookbook&lt;/li&gt;
&lt;li&gt;&amp;nbsp; Start Small, Stay Small&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Event Processing In Action&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Pragmatic Version Control: Using Git&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Algorithms of the Intelligent Web&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Web Design for Developers&lt;/li&gt;
&lt;li&gt;&amp;nbsp;Taming Text&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-1317087452120588671?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/1317087452120588671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=1317087452120588671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/1317087452120588671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/1317087452120588671'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2010/12/recommended-books-of-2010.html' title='Recommended Books of 2010'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-5222333588723659553</id><published>2010-05-01T04:59:00.003-04:00</published><updated>2010-05-01T05:13:46.360-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='cranky'/><title type='text'>HP Buys Palm for the slate market runing JS Apps</title><content type='html'>Company acquisitions are viewed as potential for the new company. "By acquiring this product the new company can expand into this market of the old company." More often, the acquiring company places value in old company as a defensive move. They don't want to be outflanked in the changing market place.
&lt;p&gt;
The world of mobile devices has changed dramatically in the past 12 months, but people for the most part are just getting use to what it was like 12 months ago. Example, everyone thinks App Stores are it.
&lt;p&gt;
First big change: App Stores are old school. Native apps are old school. The great new apps will be not be native apps written in Java or Objective-Whatever. They will be HTML5, CSS and JavaScript apps, hereafter called JS Apps. Proof is the NPR app written for iPad using SproutCore as shown at JSConf. The world has changed.
&lt;p&gt;
Second, big change: all major phone platforms can run these JS Apps. Blackberry is just getting caught up with the rest of the market on this. So I can now write an JS App and have it run on all phones: iPhone, Android, Palm and Blackberry. Phones are a commodity for the replacement cycle, though consumers don't know that yet.
&lt;p&gt;
Third big change: iPad introduced a new form factor. In part, a larger screen and touch area. This is a big deal, maybe. Market may or may not be huge. May or may not kill the laptop. It is a big deal just because it introduces uncertainty into the laptop market.
&lt;p&gt;
Now what is HP to do? The laptop market is being nibbled away by mobile phones or maybe being killed. Things that you only use to be able to do on the road with a laptop can now be done on your phone. You still have customers (and a brand) that depend on your products and you have a product gap that maybe huge. You acquire to fill that gap.
&lt;p&gt;
But wait, do your customers realize that products are changing (see above)? Not yet. But you'll be ready for them. Immediately, HP can tell customers we sell phones too. Buying number four in the market never works (see GE and Jack Welch). What was HP thinking?
&lt;p&gt;
Go back to third big change: new form factor. The large screens are a field HP knows well - take the keyboard off that laptop and you have a slate. How do you enter this new market? How do you become a leader? Do you take the Microsoft operating system, whatever the name is, and compete with Apple that way?  Are you crazy?  Too late, too old school. Microsoft has not gotten this right in 20 years. Microsoft is no help this time.
&lt;p&gt;
What HP does is work with the trend that mobile devices are becoming a commodity. HP knows that business. They build a slate that runs the JS Apps that also run on the iPhone, the iPad. It also runs the JS Apps written for Android and the Blackberry. Palm has an excellent development platform and team for JS Apps.
&lt;p&gt;
So HP buys Palm. They slap the Palm (Pilot) name on the new slate that runs these JS Apps. They are instantly number two in the new market where the App Store advantage is losing marketing power. 
&lt;p&gt;
And besides, Palm is a better name than tongue twister iPad (or was that iPod). And look at what an old brand name (AT&amp;T) did for Cingular. Brand names are important.
&lt;p&gt;
HP bought Palm not because of the phone market, but to hedge their bets in the maybe emerging market of the Palm slate. I can not wait to buy one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-5222333588723659553?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/5222333588723659553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=5222333588723659553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5222333588723659553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/5222333588723659553'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2010/05/hp-buy-palm-for-js-apps-for-slate.html' title='HP Buys Palm for the slate market runing JS Apps'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-8790868060370698593</id><published>2010-04-20T22:28:00.003-04:00</published><updated>2010-04-20T22:39:32.773-04:00</updated><title type='text'>This blog has moved</title><content type='html'>
       This blog is now located at http://blog.abcedmindedness.com/.
       You will be automatically redirected in 30 seconds, or you may click &lt;a href='http://blog.abcedmindedness.com/'&gt;here&lt;/a&gt;.

       For feed subscribers, please update your feed subscriptions to
       http://blog.abcedmindedness.com/feeds/posts/default.
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-8790868060370698593?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://blog.abcedmindedness.com/' title='This blog has moved'/><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/8790868060370698593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=8790868060370698593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8790868060370698593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8790868060370698593'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2010/04/this-blog-has-moved_20.html' title='This blog has moved'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-6109254603755798434</id><published>2010-04-20T22:28:00.001-04:00</published><updated>2010-04-20T22:28:17.465-04:00</updated><title type='text'>This blog has moved</title><content type='html'>
       This blog is now located at __FTP_MIGRATION_NEW_URL__.
       You will be automatically redirected in 30 seconds, or you may click &lt;a href='__FTP_MIGRATION_NEW_URL__'&gt;here&lt;/a&gt;.

       For feed subscribers, please update your feed subscriptions to
       __FTP_MIGRATION_FEED_URL__.
  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-6109254603755798434?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/6109254603755798434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=6109254603755798434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/6109254603755798434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/6109254603755798434'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2010/04/this-blog-has-moved.html' title='This blog has moved'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-7955591964718762703</id><published>2010-04-19T11:36:00.000-04:00</published><updated>2010-04-19T11:36:17.098-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='jsconf'/><title type='text'>ToDo After jsconf</title><content type='html'>jsconf was even better this year than last. A good part of that is because JavaScript and the JavaScript industry is better than last year. Missed most of the Track B talks and I hope to get caught up by watching videos. But most of my spare time may be taken up by the ToDos I wrote myself during the talks. Thought I'd share those.
&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="http://nodejs.org/"&gt;node.js&lt;/a&gt; Wow - it has simply changed everything. Even if the API is constantly changing, I've got to get it installed and start using it. Needs screencasts.&lt;/li&gt;
&lt;li&gt;(&lt;a href="http://fabjs.com/"&gt;fab&lt;/a&gt;) - Mindblowing - fab:: more twitter than blogging. Just a completely new way of thinking of things and I have to try it. Also, it shows the impact of node.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://code.google.com/chrome/chromeframe/"&gt;Google Chrome Framework&lt;/a&gt; - Had not thought about it enough until jsconf. This will be so important to my work project. But everyone should &lt;a href="http://www.chromium.org/developers/how-tos/chrome-frame-getting-started#TOC-Making-Your-Pages-Work-With-Google-"&gt;add the meta tag&lt;/a&gt; to their JS pages. I have to install it at work asap and on a few other desktops.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://yayquery.com/"&gt;yayQuery&lt;/a&gt; - Been following on tweeter, now I've got to listen to the podcasts. Clearly the next generation of javascript and funny.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://raphaeljs.com/"&gt;Raphael&lt;/a&gt; - Years ago I wanted a visual, historical, problem solving site base on timelines (timeography.com). Now this is the js library to make it happen. Usable for for ANY type of vector graphics and I can not wait to push it. Reminds me of RIP for BBSs.&lt;/li&gt;
&lt;li&gt;Progressive Enhancements - Jenn made the most convincing case of any presentation. I will be reading up.&lt;/li&gt;
&lt;li&gt;Interface Builders - Ares and Greenhouse demos were good. Of course there is the Mac tool. I need to more take time and look at all of these -- another skill I need.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://sproutcore.com/"&gt;SproutCore&lt;/a&gt; - More than a year ago I was a real fan of SproutCore. I had previously argued at a Ruby meetup that MVC was broken in Rails because of the mix of data with code in the view and that the server should only produce JSON. Now that SproutCore is at 1.0 and gives me MVC on the client - will time allow a deep try? Looks so good too.&lt;/li&gt;
&lt;li&gt;CVC - Client View Controller by Kyle Simpson pushes the same anti-MVC argument that I was making but puts the same JavaScript on the client and server. Again an incluence of node. Love the concept and certain that is is how the future will go, but it looks like handlebar.js and bikechain.js need to be more battle tested. Have to test to tell&lt;/li&gt;
&lt;li&gt;Couchdb - The talk was on &lt;a href="http://www.youtube.com/watch?v=qJbfRZz6qNY"&gt;evently&lt;/a&gt;, but it is really Couchdb that stills interests me. Two tier solution with JavaScript and JSON. Think this will be the solution for one current project. jquery.couch.js here I come.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://xuijs.com/"&gt;xui&lt;/a&gt; - prior to jsconf I went to phonegap training and heard about xui again. It would be great if jqtouch could be build on xui.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://developer.yahoo.com/yql/"&gt;yql&lt;/a&gt; - definitely in my toolbox now&lt;/li&gt;
&lt;/ol&gt;
Other sessions were also great and I learned lots. For example, Facebook really showed the importance of refactoring in the browser platform. And see previous post on &lt;span class="headline"&gt;Socratic. And who can forget Gordon. The&lt;/span&gt; above are my ToDo list and possible suggestions for your exploration.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-7955591964718762703?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/7955591964718762703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=7955591964718762703' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/7955591964718762703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/7955591964718762703'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2010/04/todo-after-jsconf.html' title='ToDo After jsconf'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-3587292550367279595</id><published>2010-04-18T12:37:00.001-04:00</published><updated>2010-04-18T12:41:35.907-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Socratic and Verbalization: Documenting on both sides</title><content type='html'>Francisco Tolmasky gave a talk at #jsconf on Socratic: Documentation Done Right. He asked for feedback and he got me thinking about the problem that coders documentation does not even help them when they go back to it. Ever have that happen with your documentation? Go back to your source comments three months later and they don't make much sense?
&lt;p&gt;
The process of coding involves variable and method names which are suppose to be meaningful. A convention has evolved where methods should be verbs because they do something and variables are nouns. Roughly.
&lt;p&gt;
So I suggested to Francisco that perhaps Socratic could use Verbalization to verify that methods are verbs. Think of Verbalization as a spell check of only verbs. Maybe it could check that "is" methods are boolean and perhaps more. I suppose the Nounization could be done on variables.
&lt;p&gt;
One theme at JSCONF is running JavaScript on client and the server. For example, same validation method on both. This got me thinking about the documentation divide. So why not run Verbalization on both Socratic and Textmate or your IDE. As you build out your code check that your method names are verbs. And this gets you a glossary? So a common plug system for both Socratic and IDEs would be good.
&lt;p&gt;
Just a thought or two with a lot more to think about.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-3587292550367279595?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/3587292550367279595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=3587292550367279595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3587292550367279595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/3587292550367279595'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2010/04/socratic-and-verbalization-documenting.html' title='Socratic and Verbalization: Documenting on both sides'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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-5210409.post-8906922941007144947</id><published>2010-04-02T12:31:00.000-04:00</published><updated>2010-04-02T12:31:44.756-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ed Roberts'/><title type='text'>Ed Roberts Passed Away</title><content type='html'>A true pioneer of the personal computer, Ed Roberts, passed away yesterday. &lt;a href="http://www.techflash.com/seattle/2010/04/gates_allen_on_altair_creator_ed_roberts_truly_a_pioneer.html"&gt;Bill Gates and Paul Allen released a statement&lt;/a&gt; about the creator of the MITS Altair.
&lt;p&gt;
I bought one of the first Altair computers, soldered it together and after several tries got it working. Entered many programs using the front panel switches and later built my own keyboard. As soon as it was available I ordered the computer language BASIC on cassette from an unknown company in Albuquerque, NM, called MicroSoft.
&lt;p&gt;
Many happy hours were spent at my Altair and it became the platform for my first business venture: CableGames. Though not successful, it lead me into the retail software business and starting the first software store in the world in 1979. That was my career for 15 years.
&lt;p&gt;
The world and my life would not been the same without Ed Roberts. I still own my Altair - my first computer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5210409-8906922941007144947?l=blog.abcedmindedness.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.techflash.com/seattle/2010/04/gates_allen_on_altair_creator_ed_roberts_truly_a_pioneer.html' title='Ed Roberts Passed Away'/><link rel='replies' type='application/atom+xml' href='http://blog.abcedmindedness.com/feeds/8906922941007144947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5210409&amp;postID=8906922941007144947' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8906922941007144947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5210409/posts/default/8906922941007144947'/><link rel='alternate' type='text/html' href='http://blog.abcedmindedness.com/2010/04/ed-roberts-passed-away.html' title='Ed Roberts Passed Away'/><author><name>Ray</name><uri>http://www.blogger.com/profile/14826399735521188599</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></feed>
