<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-35312635</atom:id><lastBuildDate>Sun, 10 Aug 2008 08:33:19 +0000</lastBuildDate><title>Tales of Coding</title><description/><link>http://www.frozen-o.com/blog/</link><managingEditor>noreply@blogger.com (Frozen O)</managingEditor><generator>Blogger</generator><openSearch:totalResults>82</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-8206759127206402495</guid><pubDate>Sun, 10 Aug 2008 08:08:00 +0000</pubDate><atom:updated>2008-08-10T01:33:19.912-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>zendcon</category><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><category domain='http://www.blogger.com/atom/ns#'>zendcon08</category><title>Books to give away during my ZendCon08 talk!</title><description>&lt;p&gt;In order to bribe more people to attend &lt;a href="http://www.zendcon.com/ZendCon08/public/schedule/detail/13" title="Digging Through the Guts of Enterprise PHP: A Case Study"&gt;my talk at ZendCon08&lt;/a&gt;, my publisher has sent me three copies of &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdvanced-Ajax-Architecture-Best-Practices%2Fdp%2F0131350641%3Fie%3DUTF8%26qid%3D1188960159%26sr%3D11-1&amp;tag=amitshaw-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" title="Advanced Ajax: Architecture and Best Practices"&gt;my book&lt;/a&gt; to give away! I haven't quite figured out how to dole them out yet, or even have any idea how many people will attend the talk &lt;em&gt;and&lt;/em&gt; want a copy, but I'll figure something out.&lt;/p&gt;

&lt;p&gt;I think for the talk, I'll use a modified &lt;a href="http://meyerweb.com/eric/tools/s5/"&gt;&lt;abbr title="A Simple Standards-Based Slide Show System"&gt;S5&lt;/abbr&gt;&lt;/a&gt; theme I have in-progress using Safari's new &lt;acronym title="Cascading Style Sheets"&gt;CSS&lt;/acronym&gt; &lt;a href="http://webkit.org/blog/130/css-transforms/"&gt;transforms&lt;/a&gt; and &lt;a href="http://webkit.org/blog/138/css-animation/"&gt;animation&lt;/a&gt; support for transitions. I'll post some examples of that as I make it ready for the talk, since I can't really post the content of my talk until I get the go-ahead from those who give it at IBM. The talk centers around looking at source code from &lt;a href="http://www-306.ibm.com/software/awdtools/buildforge/enterprise/" title="IBM Rational Build Forge"&gt;work&lt;/a&gt;, and I'd rather not upset IBM's Higher Powers by exposing even part of the product without explicit permission...&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/08/books-to-give-away-during-my-zendcon08.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-8048015141777984248</guid><pubDate>Tue, 08 Jul 2008 01:40:00 +0000</pubDate><atom:updated>2008-07-07T19:41:52.191-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>web standards</category><title>W3C recently posts updated docs on relationship between usability and accessibility</title><description>&lt;p&gt;The &lt;a href="http://w3.org/"&gt;&lt;abbr title="World Wide Web Consortium"&gt;W3C&lt;/abbr&gt;&lt;/a&gt; posted an update to the &lt;a href="http://www.w3.org/TR/mwbp-wcag/"&gt;Relationship between Mobile Web Best Practices (MWBP) and Web Content Accessibility Guidelines (WCAG)&lt;/a&gt;, something which I (for some reason) don't remember seeing go by in January when they posted the initial draft.&lt;/p&gt;

&lt;p&gt;Work like this means a great deal to web developers who promote accessibility, as most people regard accessibility as little more than a drain or a checkbox on a compliance to-do list. The &lt;acronym title="Mobile Web Best Practices"&gt;MWBP&lt;/acronym&gt; and &lt;acronym title="Web Content Accessibility Guidelines"&gt;WCAG&lt;/acronym&gt; relationship guidelines look at the similarities in issues and solutions found in each working group, providing a comprehensive list of direct connections between accessibility and usability. Until seeing this work, I have had little reference material to offer those who questioned my (and others') relentless insisting that they should use accessible markup and scripting in order to make their web applications both accessible and more usable in one fell swoop. All efforts had previously resulted in spontaneous lectures at the nearest machine where I could demonstrate examples, and (more recently) &lt;i&gt;Chapter 1: Usability&lt;/i&gt; and &lt;i&gt;Chapter 2: Accessibility&lt;/i&gt; in &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdvanced-Ajax-Architecture-Best-Practices%2Fdp%2F0131350641%3Fie%3DUTF8%26qid%3D1188960159%26sr%3D11-1&amp;tag=amitshaw-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325"&gt;Advanced Ajax: Architectures and Best Practices&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The current &lt;acronym title="Mobile Web Best Practices"&gt;MWBP&lt;/acronym&gt; and &lt;acronym title="Web Content Accessibility Guidelines"&gt;WCAG&lt;/acronym&gt; relationship guidelines have the following in-progress sections available, which will all prove exceedingly useful to web developers and designers, especially for those learning about one side of this after implementing the other:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.w3.org/TR/mwbp-wcag/Overview.html"&gt;Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.w3.org/TR/mwbp-wcag/together.html"&gt;WCAG 2.0 and MWBP Together&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.w3.org/TR/mwbp-wcag/mwbp-wcag20.html"&gt;MWBP to WCAG 2.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.w3.org/TR/mwbp-wcag/mwbp-wcag10.html"&gt;MWBP to WCAG 1.0&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.w3.org/TR/mwbp-wcag/wcag20-mwbp.html"&gt;WCAG 2.0 to MWBP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.w3.org/TR/mwbp-wcag/wcag10-mwbp.html"&gt;WCAG 1.0 to MWBP&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These sections cover specific examples of matching mobile web usability issues  with accessibility issues, ranging from color contrast requirements (&lt;q&gt;...unfavorable ambient light and the ability of devices to display contrasting color at all, while users may have color blindness and color perception deficits...&lt;/q&gt;) to the fact that large amounts of dry text becomes equally unreadable for those with attention deficit related disabilities to those with postage stamp-sized screen. Anyone who had clicked impatiently through an &lt;acronym title="End User License Agreement"&gt;EULA&lt;/acronym&gt; displayed in a one-inch &lt;code&gt;textarea&lt;/code&gt; knows the latter of these two quick examples all too well.&lt;/p&gt;

&lt;p&gt;For a quick introduction to the correlation between web accessibility mobile web usability, the &lt;a href="http://www.w3.org/WAI/"&gt;&lt;acronym title="Web Accessibility Initiative"&gt;WAI&lt;/acronym&gt;&lt;/a&gt; has posted &lt;a href="http://www.w3.org/WAI/mobile/"&gt;Web Content Accessibility and Mobile Web: Making a Web Site Accessible Both for People with Disabilities and for Mobile Devices&lt;/a&gt; as part of their &lt;a href="http://www.w3.org/WAI/impl/Overview.html"&gt;Implementation Plan for Web Accessibility&lt;/a&gt;.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/07/w3c-recently-posts-updated-docs-on.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-7853969518828298118</guid><pubDate>Thu, 12 Jun 2008 19:12:00 +0000</pubDate><atom:updated>2008-06-12T12:23:56.457-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>zendcon</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>php</category><category domain='http://www.blogger.com/atom/ns#'>zendcon08</category><title>Proposal accepted for ZendCon08</title><description>&lt;p&gt;My proposal "Digging Through the Guts of Enterprise PHP: A Case Study," which looks at PHP usage, techniques, and features as used at my day job at IBM, got accepted for the Zend/PHP Conference and EXPO 2008!&lt;/p&gt;&lt;blockquote&gt;An exploration of the features of PHP used in the Ajax-driven user interface of IBM Rational Build Forge, with a focus on inheritance, interfaces, and Iterators. This talk will demonstrate how we built its user interface on a solid foundation of PHP.&lt;/blockquote&gt;&lt;p&gt;I submitted it shortly after the call for papers opened up and this year, I got in. I've never spoken at a conference before, but it'll at least make for an interesting (and hopefully even successful) experience.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/06/proposal-accepted-for-zendcon08.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-2899551868980159636</guid><pubDate>Tue, 03 Jun 2008 00:50:00 +0000</pubDate><atom:updated>2008-06-02T18:05:53.372-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>sample code</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><title>I couldn't resist one named "Tendrils"</title><description>&lt;p&gt;While setting up the most recent addition to the house (my wife's new hi-res 17" MacBook Pro), I had a little time during Windows' installation into its VMWare image, so I took a look through some more of the visualizations. I saw this one, and ported it to JavaScript, adding a few lines to animate it:&lt;/p&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://frozen-o.com/misc/tendrils/"&gt;&lt;img style="border: 1px;" src="http://frozen-o.com/misc/tendrils/tendrils.png" alt="13 long, winding tendrils starting from a central base" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;I recommend sticking to a low number of tendrils (especially in Opera, which gets choppy rather quickly), or the non-animated version.&lt;/p&gt;

&lt;p&gt;Based on &lt;a href="http://www.nodebox.net/code/index.php/Tendrils"&gt;Tendrils&lt;/a&gt;, Created by Tom De Smedt
(which Tom based on the "Tendrils" algorithm by ART+COM).&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/06/i-couldnt-resist-one-named-tendrils.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-7167882706663751867</guid><pubDate>Sun, 01 Jun 2008 00:12:00 +0000</pubDate><atom:updated>2008-05-31T17:35:41.889-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>sample code</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><title>Fun with visualizations</title><description>&lt;p&gt;Looking through &lt;a href="http://macresearch.org/"&gt;MacResearch&lt;/a&gt;, I saw &lt;a href="http://nodebox.net/"&gt;NodeBox&lt;/a&gt;, "...a Mac OS X application that lets you create 2D visuals (static, animated or interactive) using Python programming code and export them as a PDF or a QuickTime movie." A bit of a hobbyist math geek, I checked it out a bit and realized that a lot of the Python source code used with NodeBox looks rather similar to JavaScript interacting with the canvas HTML5 element.&lt;/p&gt;

&lt;p&gt;So I took a few and wrote a quick library to behave similarly to NodeBox, albeit for JavaScript to run in a browser. I just looked at the &lt;a href="http://nodebox.net/code/index.php/Mark_Meyer_|_Parametric_surfaces"&gt;parametric equation examples&lt;/a&gt; for something easy to start off with, and wrote a few examples. The first, &lt;em&gt;extremely&lt;/em&gt; simple example more or less just draws a circle within certain bounds:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;function CircleEquation(dt, steps, r) {
 Frozen.Chart.Equation.call(this, steps, dt);
 this.r = r;
}
CircleEquation.prototype = new Frozen.Chart.Equation;
CircleEquation.prototype.next = function() {
 this.x = Math.cos(this.t) * this.r;
 this.y = Math.sin(this.t) * this.r;
 return Frozen.Chart.Equation.prototype.next.apply(this);
};

function circleTest1() {
 chart.clear();
 chart.map.lineWidth = 0.5;
 chart.renderEquation(new CircleEquation(4.5, 75, 95));
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This results in the following visualization:&lt;/p&gt;

&lt;div style="text-align: center;"&gt;&lt;img style="border: 1px;" src="http://frozen-o.com/misc/visualizations/circletest1.png" alt="A spiral design made up of thin lines making up a 100 pixel circle" /&gt;&lt;/div&gt;

&lt;p&gt;You can &lt;a href="http://frozen-o.com/misc/visualizations/"&gt;see it in action&lt;/a&gt;, along with a couple of slightly more interesting examples. NodeBox can do a lot more than simple charting, this part of its functionality just inspired a fun exercise in web+math geekery.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/05/fun-with-visualizations.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-4912849649853438404</guid><pubDate>Tue, 06 May 2008 16:37:00 +0000</pubDate><atom:updated>2008-05-06T14:50:40.128-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>webkit</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>opera</category><category domain='http://www.blogger.com/atom/ns#'>css</category><title>Opera Dragonfly (alpha) Released</title><description>&lt;p&gt;Over a year ago, &lt;a href="http://www.frozen-o.com/blog/2007/03/opera-developer-console.html"&gt;I wrote about the Opera Developer Console&lt;/a&gt;. This morning (for me, at any rate), Opera &lt;a href="http://my.opera.com/dragonfly/blog/2008/05/06/introducing-the-dragonfly" title="Hello World - Introducing Opera Dragonfly"&gt;posted Dragonfly&lt;/a&gt;, which (two years in the making) offers a completely fresh look at browser-based debugging.&lt;/p&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://frozen-o.com/misc/images/dragonfly.png"&gt;&lt;img src="http://frozen-o.com/misc/images/dragonfly_small.png" alt="An Opera Dragonfly window showing a JavaScript console, stack trace, and active debugger, stepping through a call to add an event listener" style="border: solid 1px;" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;It offers most of the familiar tools for &lt;acronym title="Document Object Model"&gt;DOM&lt;/acronym&gt; inspection (along with a nice DOM editing capability), error logging (with the same granularity as before wrapped in a more polished &lt;acronym title="User Interface"&gt;UI&lt;/acronym&gt;), a JavaScript debugger that rivals WebKit's &lt;a href="http://trac.webkit.org/wiki/Drosera"&gt;Drosera&lt;/a&gt;, a JavaScript thread logger, and a lot more that I haven't explored yet.&lt;/p&gt;

&lt;p&gt;Time will tell whether Dragonfly can get enough developers to use Opera and keep them there, and how much the developers behind the new developer tools listen to the community in the coming iterations, but so far this looks extremely promising.&lt;/p&gt;

&lt;p&gt;Edit: Chris Mills from Opera gave me some additional info:&lt;/p&gt;

&lt;p&gt;Part of the reason I haven't found the &lt;code&gt;XMLHttpRequest&lt;/code&gt; logger/debugger apparently stems from it not getting exposed yet, though it &lt;em&gt;will&lt;/em&gt; appear in an upcoming iteration, along with HTTP header inspection (not just for &lt;code&gt;XMLHttpRequest&lt;/code&gt;s, of course) and a new "single window mode" which sounds like it will make things much more usable! When using Safari's inspector, I almost always find myself attaching it to the window, and I always had the urge to do the same with Opera's developer console.&lt;/p&gt;

&lt;p&gt;Chris also mentioned something which makes me very happy to hear: even though the Developer Tools (loaded via the Tools &amp;rarr; Advanced &amp;rarr; Developer Tools) download from Opera's server, it only does so the first time, and for each following update of the tools. This ensures that it not only saves Opera's servers when usage takes off, but it also ensures that developers can work offline, and the slow loading of the tools will only happen initially, loading from the local drive after installation.&lt;/p&gt;

&lt;p&gt;Written in XML/CSS/JavaScript, Dragonfly will run in all browsers including Opera's Core-2.1 rendering engine (except Opera Mini for some reason), and even supports debugging on mobile devices by way of a proxy setup between the device and the desktop Dragonfly installation! This will prove &lt;em&gt;invaluable&lt;/em&gt; for developers of web applications supporting devices, as they will have the ability to use their normal desktop tools to debug on the mobile browser without having to use emulation.&lt;/p&gt;

&lt;p&gt;You can find more information in an &lt;a href="http://dev.opera.com/articles/view/introduction-to-opera-dragonfly/"&gt;Introduction to Opera Dragonfly&lt;/a&gt; and on the &lt;a href="http://www.opera.com/products/dragonfly/"&gt;Opera Dragonfly product page&lt;/a&gt; (which has a very good start of fleshed-out &lt;a href="http://www.opera.com/products/dragonfly/documentation/"&gt;documentation&lt;/a&gt; already, &lt;a href="http://www.opera.com/products/dragonfly/feedback/"&gt;feedback and bugtracking&lt;/a&gt;, and of course a &lt;a href="http://my.opera.com/dragonfly/blog/"&gt;blog&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Edited to fix the &lt;a href="http://dev.opera.com/articles/view/introduction-to-opera-dragonfly/"&gt;Introduction to Opera Dragonfly&lt;/a&gt; link...&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/05/opera-dragonfly-alpha-released.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-2127426596402015025</guid><pubDate>Tue, 06 May 2008 02:26:00 +0000</pubDate><atom:updated>2008-05-05T19:39:32.868-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>google i/o</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><title>Heading to Google I/O at the end of the month</title><description>&lt;p&gt;As an added benefit of living in the Bay Area again, I get much easier access to many of the conferences and events that go on around Ajax/&lt;acronym title="Rich Internet Application"&gt;RIA&lt;/acronym&gt;s/etc. May 28-29, I'll take &lt;acronym title="Bay Area Rapid Transit"&gt;BART&lt;/acronym&gt; into the city in order to attend &lt;a href="http://code.google.com/events/io/"&gt;Google I/O&lt;/a&gt;, which looks extremely interesting. Somehow, in the short two days, I need to find my way to the sessions on design patterns, performance, HTML5, open source, and chase down some of the speakers and fellow developers to pick their brains for a bit. Fun!&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/05/heading-to-google-io-at-end-of-month.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-3727291689880197477</guid><pubDate>Tue, 15 Apr 2008 17:13:00 +0000</pubDate><atom:updated>2008-04-24T18:59:23.160-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>randomness</category><title>History meme</title><description>&lt;p&gt;Indirectly tagged by &lt;a href="http://virtuelvis.com/archives/2008/04/history_meme" title="Arve Bersvendsen - History Meme"&gt;Arve Bersvendsen's entry&lt;/a&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;wollstonecraft:~ shawn$ history | awk '{a[$2]++ } END{for(i in a){print a[i] " " i}}'|sort -rn|head
85 screen
52 ssh
50 ls
44 vi
39 cd
36 svn
25 ping
20 telnet
16 cp
14 mv&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I guess I reattach my &lt;a href="http://www.gnu.org/software/screen/" title="GNU Screen"&gt;screen&lt;/a&gt; session a lot. The telnet calls probably stem from checking the server once I got it up and running again, since the router had some issues letting everyone through for a while.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/04/history-meme.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-734161873544870896</guid><pubDate>Sat, 05 Apr 2008 23:32:00 +0000</pubDate><atom:updated>2008-04-05T16:44:38.100-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>Part 2 of the Advanced Ajax review went up!</title><description>&lt;p&gt;In the midst of things, the &lt;a href="http://blogs.pathf.com/agileajax/2008/04/book-review-adv.html" title="Book review: Advanced Ajax by Lauriat (Part 2 of 2)"&gt;second half of the review&lt;/a&gt; from &lt;a href="http://blogs.pathf.com/agileajax/"&gt;Agile Ajax&lt;/a&gt; went up! It seems that despite the rather heavy use of PHP for the server-side example code, Brian (apparently more into ASP, JSP, and Ruby) still liked it, which makes me very happy.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Back in February, I reviewed the first half of Shawn M. Lauriat's "Advanced Ajax: Architecture and Best Practices" (Prentice Hall, 2008, 360p). The first four chapters of Lauriat's book, which focused almost exclusively on client-side technologies, impressed me considerably. But it's taken me several weeks to get through the remainder of the book, and there's one reason why: PHP.&lt;/p&gt;

&lt;p&gt;The server-side portion of "Advanced Ajax" uses PHP code to illustrate its many and varied lessons about Ajax architecture. It's not that I have anything against the popular web-development framework and scripting language. It's just that, after spending my career in the ASP Classic and JSP trenches and slowly ramping up on Rails in the last year, I'm not the ideal target audience for these code samples. Adding "PHP" to the title of the book might have limited its potential audience, but it also would have been more accurate.&lt;/p&gt;

&lt;p&gt;That said, there's a lot of value here for adherents of any server-side framework. Lauriat discusses each topic from a general perspective before diving into the code. The technical approach to a given problem would obviously differ by framework, but the high-level approach wouldn't. If you don't mind skimming past the content that doesn't apply to you, Lauriat's advice about developing stable, scalable, accessible and secure Ajax applications transcends framework allegiance.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://blogs.pathf.com/agileajax/2008/04/book-review-adv.html#more" title="Book review: Advanced Ajax by Lauriat (Part 2 of 2)"&gt;Read the rest of the review&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Sidenote: On the &lt;a href="http://ajaxian.com/archives/book-review-advanced-ajax-by-lauriat-part-2-of-2" title="Book review: Advanced Ajax by Lauriat (Part 2 of 2)"&gt;Ajaxian post for the review (part 2)&lt;/a&gt;, Joeri left a comment that really hit on what I tried for in writing the book, almost quoting what I told Prentice Hall when describing the type book I intended to write:&lt;/p&gt;

&lt;blockquote&gt;I’ve read this since the last review.&lt;br /&gt;It does a pretty good job documenting the best practices when building ajax apps. This is a book to read when you want to move beyond knowing the basics of javascript and xmlhttp to building a real web app using ajax methods.&lt;/blockquote&gt;

&lt;p&gt;Thank you, Joeri! I feel glad knowing that people out there have read the book and gotten out of it something resembling what I had hoped they would.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/04/part-2-of-advanced-ajax-review-went-up.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-3419600083660950904</guid><pubDate>Sat, 05 Apr 2008 23:23:00 +0000</pubDate><atom:updated>2008-04-05T16:30:04.391-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>randomness</category><title>No place like 67.102.65.250</title><description>&lt;p&gt;I haven't posted in a while, partly to figure out the details of, and then execute a move from Austin, TX to Oakland, CA. It made for a hell of a trip, but a successful one nonetheless. I still have my job with IBM, now working remotely and officially from my home office. From my desk chair, I can see the loading docks of the bay in the distance, and have already timed the trip from &lt;a href="http://www.phuketthaisf.com/" title="Phuket Thai Restaurant"&gt;my favorite peanut sauce source&lt;/a&gt; to the house at a mere 15 minutes (with light traffic)!&lt;/p&gt;

&lt;p&gt;The site(s) and email(s) went down during the move partly because of DNS issues that resulted in utter failure to move to the temporary hosting service, and partly because so much came up that needed handling in the last couple of weeks that I just had too many higher priority things to do. Speaking of which...back to unpacking!&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/04/no-place-like-6710265250.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-5503897894222160852</guid><pubDate>Sat, 16 Feb 2008 19:42:00 +0000</pubDate><atom:updated>2008-02-16T11:47:19.393-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>Advanced Ajax (Kindle Edition)</title><description>&lt;p&gt;For those interested: &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdvanced-Ajax%2Fdp%2FB00142KQCA&amp;tag=amitshaw-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325"&gt;Advanced Ajax (Kindle Edition)&lt;/a&gt; apparently went up on Amazon. I haven't met anyone yet who has a Kindle, but I imagine someone out there does! Hopefully lots of Ajax developers...&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/02/advanced-ajax-kindle-edition.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-8122809454082252664</guid><pubDate>Wed, 13 Feb 2008 01:20:00 +0000</pubDate><atom:updated>2008-02-12T17:31:38.320-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>iui</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>vienna</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><category domain='http://www.blogger.com/atom/ns#'>cocoa</category><category domain='http://www.blogger.com/atom/ns#'>php</category><category domain='http://www.blogger.com/atom/ns#'>ipod</category><category domain='http://www.blogger.com/atom/ns#'>iphone</category><title>Vienna + PHP (source code) + iUI</title><description>&lt;p&gt;&lt;a href="http://www.frozen-o.com/misc/vienna/vienna.tgz"&gt;Source posted!&lt;/a&gt; BSD License. From the README:&lt;/p&gt;

&lt;pre&gt;You'll need to do a few things to get this working:

1. Move the extracted vienna directory to /Library/WebServer/Documents
2. Download iUI (http://code.google.com/p/iui/) and put the main iui directory into the extracted vienna/ directory
3a. Setup a cron job to copy ~/Library/Application Support/Vienna/messages.db to the extracted vienna/ directory
3b. For the adventurous: mv ~/Library/Application Support/Vienna/messages.db to the extracted vienna/ directory and sym-link it back to ~/Library/Application Support/Vienna/
4. Make sure to enable web sharing
5. Go to (your computer's name).local/vienna&lt;/pre&gt;</description><link>http://www.frozen-o.com/blog/2008/02/vienna-php-source-code-iui.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-3757898902260924205</guid><pubDate>Wed, 13 Feb 2008 00:05:00 +0000</pubDate><atom:updated>2008-02-12T16:38:09.204-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>Book review up on Agile Ajax</title><description>&lt;p&gt;&lt;a href="http://blogs.pathf.com/agileajax/2008/02/book-review-adv.html"&gt;Book review: Advanced Ajax by Lauriat (Part 1 of 2)&lt;/a&gt; went up earlier today (also &lt;a href="http://ajaxian.com/archives/book-review-advanced-ajax-by-lauriat" title="Book review: Advanced Ajax by Lauriat"&gt;linked to from Ajaxian&lt;/a&gt;), and so far Brian Dillard (&lt;a href="http://www.pathf.com/aboutUsBiosBDillard.html"&gt;RIA Evangelist @ pathfinder&lt;/a&gt; and project lead for &lt;a href="http://code.google.com/p/reallysimplehistory/"&gt;Really Simple History&lt;/a&gt;) seems to like it:&lt;/p&gt;

&lt;blockquote&gt;Because Ajax moves so much application logic from the server to the client, it forces many developers to master a wider range of web technologies than ever before. To work effectively on Ajax projects, front-end developers have to concern themselves with database performance, business logic and other server-side concerns. Back-end and middleware developers, meanwhile, have to make friends with XHTML, CSS, JavaScript and a wide range of browsers. Sure, it's possible to develop Ajax apps in a siloed team environment. But it's not the easiest way, and it rarely provides the strongest results.&lt;/p&gt;

&lt;p&gt;Shawn M. Lauriat's "&lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdvanced-Ajax-Architecture-Best-Practices%2Fdp%2F0131350641%3Fie%3DUTF8%26qid%3D1188960159%26sr%3D11-1&amp;tag=amitshaw-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325"&gt;Advanced Ajax: Architecture and Best Practices&lt;/a&gt;" (Prentice Hall, 2008, 360p) bridges the gap between developers with exclusive client- or server-side skills. By exploring tools, technologies and best practices for every layer of the Ajax programming model, this solid new programming manual promises to plug the holes in any developer's resume. Lauriat's tops-to-tails approach offers something for almost any developer, but it also guarantees most readers will find some sections remedial. As this two-part review will demonstrate, that's not necessarily a liability.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://blogs.pathf.com/agileajax/2008/02/book-review-adv.html" title="Book review: Advanced Ajax by Lauriat (Part 1 of 2)"&gt;Read the full review&lt;/a&gt;&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/02/book-review-up-on-agile-ajax.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-3751530954028076872</guid><pubDate>Sun, 10 Feb 2008 18:14:00 +0000</pubDate><atom:updated>2008-02-10T10:26:02.133-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>iui</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>vienna</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><category domain='http://www.blogger.com/atom/ns#'>cocoa</category><category domain='http://www.blogger.com/atom/ns#'>php</category><category domain='http://www.blogger.com/atom/ns#'>ipod</category><category domain='http://www.blogger.com/atom/ns#'>iphone</category><title>Vienna + PHP + iUI</title><description>&lt;p&gt;So, sick of not having the ability to feed my XML addiction when away from my machine, I took an hour this morning and hacked together a &lt;a href="http://frozen-o.com/misc/vienna/"&gt;quick'n'dirty iPhone/iPod Touch UI&lt;/a&gt; for my Vienna database using MacOS 10.5's standard PHP (with &lt;a href="http://www.php.net/manual/en/ref.pdo-sqlite.php"&gt;SQLite PDO&lt;/a&gt;), &lt;a href="http://code.google.com/p/iui/"&gt;iui&lt;/a&gt;, and my &lt;a href="http://www.vienna-rss.org/vienna2.php"&gt;Vienna&lt;/a&gt; database (stored in sqlite3). I gave it read-only access to the database, partly so I wouldn't have to worry about screwing it up, partly because I didn't feel like bothering just yet. I just need to add a "Mark Read" button to make an Ajax call.&lt;/p&gt;

&lt;p&gt;I'll ask the Vienna devs if they'd like a copy of the source to toy with and generally improve, since I &lt;del&gt;blatantly stole&lt;/del&gt; reused &lt;a href="http://www.joehewitt.com/"&gt;Joe Hewitt&lt;/a&gt;'s &lt;a href="http://iui.googlecode.com/svn/tags/REL-current/samples/digg/index.html"&gt;design and markup for iui-enabled Digg&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note: though my uploaded demo &lt;em&gt;does&lt;/em&gt; pull from a copied Vienna database, it does not pull from a live one, since I wrote the code to run on a desktop MacOS 10.5 machine and not a Linux server. I then just made a bookmark on my iPod Touch to my iMac on the local network.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/02/vienna-php-iui.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-2130980527836549139</guid><pubDate>Thu, 03 Jan 2008 14:33:00 +0000</pubDate><atom:updated>2008-01-03T06:36:09.337-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><category domain='http://www.blogger.com/atom/ns#'>ipod</category><category domain='http://www.blogger.com/atom/ns#'>iphone</category><title>Othello for iPhone/iPod Touch posted in Apple's Web Apps</title><description>&lt;p&gt;Just saw this morning that it &lt;a href="http://www.apple.com/webapps/games/ithello_frozeno.html" title="Apple - Web apps - ithello"&gt;went up&lt;/a&gt; yesterday.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2008/01/othello-for-iphoneipod-touch-posted-in.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-799007580713452372</guid><pubDate>Sat, 22 Dec 2007 14:48:00 +0000</pubDate><atom:updated>2007-12-22T06:57:53.034-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><category domain='http://www.blogger.com/atom/ns#'>ipod</category><category domain='http://www.blogger.com/atom/ns#'>iphone</category><title>Othello for iPhone/iPod Touch</title><description>&lt;p&gt;Since I woke up early today for some unknown reason and couldn't fall back asleep...I took fifteen minutes and made a game of Othello that I wrote ages (okay, six or seven years) ago in JavaScript &lt;a href="http://frozen-o.com/misc/ithello/" title="ithello"&gt;ready for the iPhone and iPod Touch&lt;/a&gt;, since I now have the latter. It may not adhere exactly to the rules of the game when someone runs out of moves, but I wrote it from my memory of the game and not a rulesheet.&lt;/p&gt;

&lt;p&gt;It doesn't have different levels of game play, or a polished look, or score saving, or anything like that. But it comes in a very small package and works just fine when not connected to a network. Basically, I only stripped out unnecessary markup, fixed the width to something friendly with the iPhone/iPod Touch's vertical orientation, and made it a single file under 5k (not counting the three images, which total 238 bytes).&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/12/othello-for-iphoneipod-touch.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-7979379848507783205</guid><pubDate>Fri, 09 Nov 2007 04:11:00 +0000</pubDate><atom:updated>2007-11-08T20:33:15.114-08:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>webkit</category><category domain='http://www.blogger.com/atom/ns#'>java</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><category domain='http://www.blogger.com/atom/ns#'>cocoa</category><category domain='http://www.blogger.com/atom/ns#'>php</category><category domain='http://www.blogger.com/atom/ns#'>objective-c</category><title>Announcing Universe Conflict!</title><description>&lt;p&gt;&lt;a href="https://sourceforge.net/forum/forum.php?forum_id=753007" title="Announcing Universe Conflict!"&gt;Posted&lt;/a&gt; to the &lt;a href="https://sourceforge.net/projects/webspacewar/" title="Universe Conflict"&gt;new project space&lt;/a&gt; on &lt;a href="http://sourceforge.net"&gt;SourceForge.net&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;An implementation of Space War!, one of the first digital computer games, created in 1961 on the PDP-1 computer, as recreated using the &amp;lt;canvas&amp;gt; HTML5 element and Ajax. It uses the &lt;a href="http://frozentoolkit.frozen-o.com/"&gt;Frozen Toolkit&lt;/a&gt; for the client-server communication and currently renders all images and animation using canvas and JavaScript objects.&lt;/p&gt;

&lt;p&gt;I had always intended to release this as an open source project, but then realized that I didn't really have the full time to dedicate to it. It also currently exists more as sample code and an interactive demo than anything else, and I figured I should just post it for all to see and hopefully for some to contribute. I initially posted the &lt;a href="http://www.frozen-o.com/blog/2007/05/intro-to-chapter-10-game-development.html"&gt;introduction to it&lt;/a&gt; on my blog.&lt;/p&gt;

&lt;p&gt;The client-side of this game currently works in Firefox and Opera, though gravity and shooting do not yet exist. The server-side of this currently works insofar as the absolute minimum required to send messages from one browser to the other in order for the two players to fly around each other.&lt;/p&gt;

&lt;p&gt;At any rate, check out the code (&lt;code&gt;svn co https://@webspacewar.svn.sourceforge.net/svnroot/webspacewar&lt;/code&gt;), play around with it, and feel free to submit patches! :-) I would love to see this completed and fully playable. "Space War!" doesn't have a lot of (base) rules, so it shouldn't take much to get there.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Edit: I've also finally, &lt;em&gt;finally&lt;/em&gt; checked in the source code for a link checker I started...oh, I think back in 2002... I created the Cocoa/WebKit branch in order to do two things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Learn Objective-C and Cocoa&lt;/li&gt;
&lt;li&gt;Use the Cocoa/WebKit API in order to take care of the HTTP handling&lt;/li&gt;
&lt;/ol&gt;</description><link>http://www.frozen-o.com/blog/2007/11/announcing-universe-conflict.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-2196711504634512956</guid><pubDate>Thu, 18 Oct 2007 02:02:00 +0000</pubDate><atom:updated>2007-10-17T19:28:02.253-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>Real book!</title><description>&lt;p&gt;I received a copy of the real thing this morning, express-mailed from the publisher:&lt;/p&gt;

&lt;div style="text-align: center;"&gt;
    &lt;img src="http://www.frozen-o.com/advancedajax/screenshots/real_cover.jpg" alt="Advanced Ajax book" /&gt;
&lt;/div&gt;

&lt;p&gt;It even has fully operational pages with ink on them!&lt;/p&gt;

&lt;div style="text-align: center;"&gt;
    &lt;a href="http://www.frozen-o.com/advancedajax/screenshots/open_book.jpg"&gt;&lt;img src="http://www.frozen-o.com/advancedajax/screenshots/open_book_small.jpg" alt="Advanced Ajax, opened up to illegible code" /&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;It should start hitting shelves in the next week or two! I don't know where &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdvanced-Ajax-Architecture-Best-Practices%2Fdp%2F0131350641%3Fie%3DUTF8%26qid%3D1188960159%26sr%3D11-1&amp;tag=amitshaw-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325"&gt;Amazon.com&lt;/a&gt;'s shipping schedule fits in, but I would expect around the same time.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/10/real-book.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-3656338515133152930</guid><pubDate>Thu, 11 Oct 2007 16:55:00 +0000</pubDate><atom:updated>2007-10-13T21:14:23.115-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>randomness</category><title>Net access down again</title><description>&lt;p&gt;As I write this, from the conference in San Francisco, the Time Warner Cable business access has remained down for about 20 hours. After talking with customer support, it apparently only went down for a few seconds, however their hardware requires that you unplug the modem and attached router, then plug them back in, before anything will work again.&lt;/p&gt;

&lt;p&gt;This unplugging and re-plugging gets very difficult when five hours away by jet (and about 60 hours away by planned travel).&lt;/p&gt;

&lt;p&gt;So, here I sit and wait to hear back from someone who has the keys to the place so I can walk her through un/re-plugging the applicable boxes in the office, as I wonder why this only seems to happen when I travel...&lt;/p&gt;

&lt;p&gt;Edited to add: finally back up. Looks like the router behind the connection went toes up for some reason...that sucked. Time Warner had a ton of outages throughout Austin when this all started, who knows why the router flipped out, though.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/10/time-warner-cable-down-again.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-6305761243804511952</guid><pubDate>Tue, 09 Oct 2007 20:44:00 +0000</pubDate><atom:updated>2007-10-09T14:04:19.750-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>zendcon</category><category domain='http://www.blogger.com/atom/ns#'>zendcon07</category><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>Reviewers and plugging the book</title><description>&lt;p&gt;Out in San Francisco for the Zend Conference, and I have two people lined up for reviewing &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdvanced-Ajax-Architecture-Best-Practices%2Fdp%2F0131350641%3Fie%3DUTF8%26qid%3D1188960159%26sr%3D11-1&amp;tag=amitshaw-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325" title="Advanced Ajax: Architecture and Best Practices"&gt;the book&lt;/a&gt;. One of the reviews should make it up on Zend's &lt;a href="http://devzone.zend.com/"&gt;Developer Zone&lt;/a&gt; if all goes well!&lt;/p&gt;

&lt;p&gt;To anyone attending the conference: I have a bound manuscript with me if you want to flip through to take a look. I'll try to keep it out and noticeable so you'll have an easier time spotting me. I also have put out a few piles of flyers in the lobby giving you a 35% discount on the book (it also has the finalized table of contents on the back).&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/10/reviewers-and-plugging-book.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-8391255654452630156</guid><pubDate>Wed, 03 Oct 2007 13:29:00 +0000</pubDate><atom:updated>2007-10-03T06:39:14.950-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>Advanced Ajax goes to the UK</title><description>&lt;p&gt;As my newly-wedded friend, Mutant, has found and brought to my attention: &lt;a href="http://www.amazon.co.uk/Advanced-Ajax-Architecture-Best-Practices/dp/0131350641/ref=sr_1_4/026-4938674-6130052?ie=UTF8&amp;s=books&amp;qid=1191412831&amp;sr=8-4&amp;tag=amitshaw-20"&gt;Advanced Ajax: Architecture, Best Practices and Open Ajax now appears on Amazon.co.uk&lt;/a&gt;! It has a price of £34.19, which doesn't quite mesh up with the US price of $39.99, but it at least makes me happy to see it become available to those not in the States.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/10/advanced-ajax-goes-to-uk.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-9007093904572049283</guid><pubDate>Fri, 28 Sep 2007 21:18:00 +0000</pubDate><atom:updated>2007-09-28T14:34:19.441-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><category domain='http://www.blogger.com/atom/ns#'>randomness</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>No properly-bound book for ZendCon, but discounts!</title><description>&lt;p&gt;So the binding of the books won't happen in time for me to have one to bring with me to the &lt;a href="http://www.zendcon.com/" title="Zend/PHP Conference &amp;amp; Expo"&gt;Zend Conference&lt;/a&gt;, but I &lt;em&gt;will&lt;/em&gt; have a bound manuscript to show off. I will also have flyers to hand out, which will give you a 35% discount on the book!&lt;/p&gt;

&lt;p&gt;It ended up working out better for me to go out there for a few days around the conference (I arrive on the 6th), so if anybody in the Bay area feels up for a Saturday night run to any one of the many restaurants I miss in San Francisco, it would make me very happy! If not, I'll just go without you anyway, as I plan to do most of the nights that week (except, of course, the evening of &lt;a href="http://upcoming.yahoo.com/event/262016/"&gt;Happy Hour 2.0&lt;/a&gt;).&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/09/no-properly-bound-book-for-zendcon-but.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-207106941498153659</guid><pubDate>Sat, 22 Sep 2007 04:34:00 +0000</pubDate><atom:updated>2007-09-21T21:55:56.424-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>excerpts</category><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>The book went to the printer today</title><description>&lt;p&gt;Assuming all went well at Prentice Hall, they've passed the book off to the printer today, and I should receive a pre-distribution copy to bring with me to the Zend Conference! I got a copy of a much later draft of the book cover, which has undergone some slight changes, but should look more or less like this:&lt;/p&gt;

&lt;div style="text-align: center;"&gt;&lt;a href="http://www.frozen-o.com/advancedajax/screenshots/0131350641_Lauriat_Pass4.png"&gt;&lt;img src="http://www.frozen-o.com/advancedajax/screenshots/0131350641_Lauriat_Pass4_small.png" alt="Advanced Ajax Cover" style="background-color: #fff;" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;The quote on the front cover reads:&lt;/p&gt;

&lt;blockquote&gt;“I very much enjoyed how this book covers the full Ajax application life-cycle and not only coding techniques. Anyone who is looking to become a professional front-end developer will appreciate the architectural insight and best practices delivered by this book.” &lt;i&gt;- Andi Gutmans, Co-Founder &amp; Co-Chief Technology Officer of Zend Technologies&lt;/i&gt;&lt;/blockquote&gt;</description><link>http://www.frozen-o.com/blog/2007/09/book-went-to-printer-today.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-382677760719738989</guid><pubDate>Wed, 05 Sep 2007 16:13:00 +0000</pubDate><atom:updated>2007-09-05T09:15:35.176-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>Up on Safari Bookshelf's Rough Cuts!</title><description>&lt;p&gt;The entire book has now appeared: &lt;a href="http://my.safaribooksonline.com/9780131350649"&gt;Advanced Ajax: Architecture and Best Practices&lt;/a&gt;.&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/09/up-on-safari-bookshelfs-rough-cuts.html</link><author>noreply@blogger.com (Frozen O)</author></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-35312635.post-2735227939644251571</guid><pubDate>Wed, 05 Sep 2007 02:47:00 +0000</pubDate><atom:updated>2007-09-04T19:51:36.376-07:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>advanced ajax</category><title>Amazon!</title><description>&lt;p&gt;I received some of the PDFs to go over how it will print up, and noticed the ISBN number in the front matter PDF. So, putting it into Amazon.com, it brought up &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;location=http%3A%2F%2Fwww.amazon.com%2FAdvanced-Ajax-Architecture-Best-Practices%2Fdp%2F0131350641%3Fie%3DUTF8%26qid%3D1188960159%26sr%3D11-1&amp;tag=amitshaw-20&amp;linkCode=ur2&amp;camp=1789&amp;creative=9325"&gt;Advanced Ajax&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=amitshaw-20&amp;amp;l=ur2&amp;amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;.&lt;/p&gt;

&lt;p&gt;Back to work, just got excited.&lt;/p&gt;

&lt;p&gt;Make sure everybody puts it on their wishlists for the holidays (not Halloween, unless you &lt;em&gt;really&lt;/em&gt; want it). :-)&lt;/p&gt;</description><link>http://www.frozen-o.com/blog/2007/09/amazon.html</link><author>noreply@blogger.com (Frozen O)</author></item></channel></rss>