<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>San Bei Ji &#187; PHP</title>
	<atom:link href="http://www.sanbeiji.com/archives/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sanbeiji.com</link>
	<description>三杯雞好吃!</description>
	<lastBuildDate>Wed, 18 Jan 2012 17:57:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Eight years</title>
		<link>http://www.sanbeiji.com/archives/1144</link>
		<comments>http://www.sanbeiji.com/archives/1144#comments</comments>
		<pubDate>Wed, 12 May 2010 22:01:38 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Meanwhile]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[sanbeiji]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/?p=1144</guid>
		<description><![CDATA[As of today, I&#8217;ve been blogging at SanBeiJi.com for eight years. Happy birthday, blog! The original blog was a hand-rolled PHP/MySQL app, before Michael insisted that I upgrade to WordPress. It was actually a fun little SQL mapping exercise to &#8230; <a href="http://www.sanbeiji.com/archives/1144">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F1144%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Eight%20years%22%20%7D);"></div>
<p>As of today, I&#8217;ve been blogging at SanBeiJi.com for eight years. Happy birthday, blog!</p>
<p>The original blog was a hand-rolled PHP/MySQL app, before <a href="http://aldoblog.com/">Michael</a> insisted that I upgrade to <a href="http://www.wordpress.org">WordPress</a>. It was actually a fun little SQL mapping exercise to get my old posts integrated into WordPress&#8217; format, and I&#8217;m amazed it worked as well as it did, all things considered.</p>
<p>If you&#8217;re wondering what San Bei Ji means, there&#8217;s a fine article about it on <a href="http://en.wikipedia.org/wiki/Sanbeiji">Wikipedia</a>.</p>
<p><em>三杯雞好吃!</em></p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/1144/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL App User Privileges</title>
		<link>http://www.sanbeiji.com/archives/785</link>
		<comments>http://www.sanbeiji.com/archives/785#comments</comments>
		<pubDate>Tue, 05 Jun 2007 04:37:36 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/archives/785</guid>
		<description><![CDATA[Here is a basic MySQL tip regarding application users: When building applications that use MySQL, it is a best practice to create a MySQL application user that is dedicated to your app and has privileges to access only the database &#8230; <a href="http://www.sanbeiji.com/archives/785">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F785%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22MySQL%20App%20User%20Privileges%22%20%7D);"></div>
<p>Here is a basic MySQL tip regarding application users:</p>
<p>When building applications that use <a href="http://www.mysql.com/">MySQL</a>, it is a best practice to create a MySQL application user that is dedicated to your app and has privileges to access only the database it is assigned.</p>
<p>With the latest version of <a href="http://www.phpmyadmin.net/">phpMyAdmin</a>, you can do this all in one step in the <strong>Add New User</strong> screen. Look for this fieldset and check the <strong>&#8220;Create database with same name and grant all privileges&#8221;</strong> box:</p>
<p><img src='http://www.sanbeiji.com/wp-content/uploads/2007/06/db4user.gif' alt='Database for user' /></p>
<p>You can then retract privileges from the given database, i.e. like if the app is only going to need SELECT and you are uploading tables manually, then you can uncheck everything except the SELECT box. Or maybe the user needs only standard CRUD operations, in which you can assign it SELECT, INSERT, UPDATE, and DELETE. As a best practice, you want your user to only have the minimum amount of privileges it needs for the app to function.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/785/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Class of Objects</title>
		<link>http://www.sanbeiji.com/archives/768</link>
		<comments>http://www.sanbeiji.com/archives/768#comments</comments>
		<pubDate>Fri, 23 Mar 2007 04:47:03 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Meanwhile]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/archives/768</guid>
		<description><![CDATA[I was trying to think of a straightforward explanation of the difference between a class and an object (in OOP terms), and came up with this: Objects are specific instances of classes. When you create a class, you are literally &#8230; <a href="http://www.sanbeiji.com/archives/768">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F768%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22A%20Class%20of%20Objects%22%20%7D);"></div>
<p>I was trying to think of a straightforward explanation of the difference between a class and an object (in OOP terms), and came up with this:</p>
<p>Objects are specific instances of classes. When you create a class, you are literally creating &#8220;a class of objects.&#8221; For instance, let us create a class of double basses. All objects of class &#8220;double bass&#8221; have certain properties defined: Maker, city, year, varnish, string length, etc. But this particular bass was made by Carlo Testore in Milan in 1710, has a deep reddish varnish and about a 42&#8243; string length. This Testore double bass is an object of the class &#8220;double bass.&#8221;</p>
<p>Now I just need a bass player to explain OOP to.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/768/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Back to School</title>
		<link>http://www.sanbeiji.com/archives/683</link>
		<comments>http://www.sanbeiji.com/archives/683#comments</comments>
		<pubDate>Tue, 14 Mar 2006 05:09:21 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Life Itself]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Double Bass]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[practice]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[webdev]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/?p=683</guid>
		<description><![CDATA[This week I took the first steps towards enrolling myself for another masters degree, in computer information systems. My first class starts at the end of this month. I&#8217;ve been eyeing school programs now for years, so this has definitley &#8230; <a href="http://www.sanbeiji.com/archives/683">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F683%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Back%20to%20School%22%20%7D);"></div>
<p>This week I took the first steps towards enrolling myself for another masters degree, in computer information systems. My first class starts at the end of this month. I&#8217;ve been eyeing school programs now for years, so this has definitley been a long time coming.</p>
<p>Considering my masters is in music performance, I have come quite far in a technology-based career. I&#8217;m proud of the fact that I was able to gravitate towards a career in web development instead of schlepping the double bass all over creation, and to take the time, night after night, to train myself in web technologies. And now I see my position as the lead web developer for a major national scientific organization somewhat of a great achievement, considering my background.</p>
<p>Obviously when I tell people I majored in classical music, they do a double take. The inevitable question is: &#8220;How did you go from being a musician to being a web geek?&#8221; But if you think about it, music is very closely related to science, mathematics, and espeically computer programming. The conventions of western harmony and music notation are as much an abstract programming language as Java or <acronym title="PHP Hypertext Preprocessor">PHP</acronym>. Music theory contains instructions on how to represent objects such as pitch, melody, harmony, rhythm, orchestration, and so on. Heck, a simple repeat is like a loop in any programming language. Come to think of it, there&#8217;s no reason why one couldn&#8217;t compose a symphony in C++ instead of music notation. It would be hard, but I think one could use that or most any other programming language to give instructions on which pitches to sound over a given period of time. And of course, if you wanted a human to play it, you&#8217;d still have to be able to export in music notation. And as a matter of fact, there is an <acronym title="eXtensible Markup Language">XML</acronym> application for notating music called <a href="http://www.sanbeiji.com/?p=632">MusicXML</a>. Ha &#8211; so there you go.</p>
<p>Science and music have been closely tied together since Pythagoras wrote about the Music of the Spheres driving the heavens. At it&#8217;s core, music is a matematical discipline. Rhythm is division: One quarter note can equal two eighth notes, four sixteenth notes, three eighth note triplets, or an endless number of variations. Harmony as taught by Johann Joseph Fux in his treatise on counterpoint called &#8220;Gradus ad Parnassum&#8221; can be boiled down to an almost purely boolean process. The study of music in early education programs is shown to make students more adept at science and math overall. Even Einstein himself was an avid violinist.</p>
<p>But despite years of professional experience, recognized industry expertise, and results of the highest standards, it remains that most people just don&#8217;t get it. I can&#8217;t tell you how many times I&#8217;ve been turned down for whatever position because of the lack of a technical degree. A simple piece of paper. But usually it&#8217;s that music degree that got me in the door in the first place, and it <em>is</em> a masters.</p>
<p>I&#8217;m tired of having to defend my education as compared with my career. It shouldn&#8217;t matter, but it does. And I&#8217;ve always wanted to get a technical masters, if ever a decent and relevant program could be found. So it&#8217;s back to school with me. I hope that this will help clear things up when I have these discussions in the future, so that the music degree becomes more of a &#8220;wow&#8221; bonus on top of the technical degree and not a big fat <acronym title="If you don't know what this stands for already, then you don't want to know">WTF</acronym>&#8230;</p>
<p>The hard part has been identifying a program that is either local or entirely online, can be done part time, and is quality enough from a respectable established university and not some ridiculous thing where you fill out some forms and they print you a diploma. After much research and evaluations of curriculum and such, I have decided to enroll in University of Denver&#8217;s <a href="http://www.universitycollege.du.edu/program/online/">online program</a>.</p>
<p>The thing I liked about this program was it&#8217;s flexibility. The <acronym title="Computer Information Systems">CIS</acronym> program has several tracks, including two that interested me: web development and information security. On the web development side, I am already pretty accomplished. So I didn&#8217;t want to take all my classes in things that I was already good at. On the security side, I have some very good solid experience, but I have a lot more opportunity for learning new things in this area. I didn&#8217;t want to abandon one side or the other really  &#8211; a combination of the two would be optimal for my needs. And this works out perfectly with their individualized option. They have classes in application security and e-commerce security which directly related to web dev, plus the two core security courses prepare you for <acronym title="Computer Information Systems Security Professional">CISSP</acronym> certification on top of everything. The security program there is recognized by the <acronym title="National Security Agency">NSA</acronym>, which helps a lot on the credibility level.</p>
<p>Quality-wise, the classes looked to be on-target. I didn&#8217;t want to take a bunch of irrelevant classes just to grab a piece of paper. But these courses include things like a bit of JavaScript, a nice chunk of <acronym title="eXtensible Markup Language">XML</acronym>, and some ColdFusion  programming. All good stuff that I&#8217;ve been trying to dig deeper into lately. I&#8217;m looking forward to it!</p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/683/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The end of the infernal daily links</title>
		<link>http://www.sanbeiji.com/archives/677</link>
		<comments>http://www.sanbeiji.com/archives/677#comments</comments>
		<pubDate>Tue, 28 Feb 2006 07:01:12 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/?p=677</guid>
		<description><![CDATA[It was cool to have del.icio.us post daily links to my blog, but the experiment is over. I didn&#8217;t like the fact that I had no control over the title, or the fact that it was posting daily and not &#8230; <a href="http://www.sanbeiji.com/archives/677">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F677%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22The%20end%20of%20the%20infernal%20daily%20links%22%20%7D);"></div>
<p>It was cool to have <a href="http://del.icio.us/">del.icio.us</a> post daily links to my blog, but the experiment is over. I didn&#8217;t like the fact that I had no control over the title, or the fact that it was posting daily and not on some more infrequent basis. My blog obviously was beginning to turn into a steady stream of automated link posts, which doesn&#8217;t look good. Even if I could make the posts appear less frequently, like once per week, then the problem is that the links become stale. I needed to get my del.icio.us links back into the sidebar, and updated in real time.</p>
<p>If you look over to the right (in the current design) you will see the links over there all bright and shiny now. I did this by using an <acronym title="eXtensible Stylesheet Language">XSL</acronym> transformation to convert <a href="http://del.icio.us/rss/sanbeiji">my del.icio.us RSS</a> feed on the server via <acronym title="PHP Hypertext Preprocessor">PHP</acronym>. It shows the top ten nodes from that feed with title properties that show the description, dc:subject, and dc:date nodes.</p>
<p>And now I can go back to abusing del.icio.us.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/677/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy New Year</title>
		<link>http://www.sanbeiji.com/archives/643</link>
		<comments>http://www.sanbeiji.com/archives/643#comments</comments>
		<pubDate>Sat, 31 Dec 2005 23:03:35 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Double Bass]]></category>
		<category><![CDATA[Guitar]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[practice]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/?p=643</guid>
		<description><![CDATA[I can&#8217;t believe it is just hours away from 2006 already. Looking back, 2005 was one of the best. I spent my first year at my dream job, moved into my dream home, practiced a respectable amount of music, completed &#8230; <a href="http://www.sanbeiji.com/archives/643">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F643%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Happy%20New%20Year%22%20%7D);"></div>
<p>I can&#8217;t believe it is just hours away from 2006 already. Looking back, 2005 was one of the best. I spent my first year at my dream job, moved into my dream home, practiced a respectable amount of music, completed some study on CSS and PHP, and watched my kids grow up. Dylan began walking and talking, and is hitting his terrible twos a tad early, while Max has been progressing very well and enjoying his preschool activities. Yingwen is fully booked for piano teaching for 2006, and she has a waiting list. Not bad.</p>
<p>One of my long-term goals, and I&#8217;m talking decades at this point, was to get the notes for the G minor Violin Sonata by Bach under my fingers on the guitar (transcribed for the instrument in A minor). I found a Bach folio of lute works while browsing bins of old sheet music at <a href="http://www.larkinam.com/">Lark in the Morning</a> in Mendocino, California (or were they in Fort Bragg then?) way back sometime in the mid-1980s. I never really got serious about playing classical guitar though until <a href="http://www.sanbeiji.com/?p=511">exactly one year ago</a> when I finally went and purchased an instrument. After one year of having the guitar and practicing regularly, I have that piece memorized, as well as most of the Lute Suite No.1 in E minor learned.</p>
<p>I didn&#8217;t practice the double bass with as much consistency as I would have liked, although I did practice way more guitar than I expected, and to be fair I did practice the bass a lot in spurts. It is a less resistant path to pick up a guitar and start working on something while the baby sleeps, as opposed to picking up the bass and getting everything set with the music, bow, rosin, metronome, etc. So one goal for 2006 is to spend a little more practice time on the bass &#8211; If I can get in a consistent bass practice session in each night then I&#8217;ll be very happy. On top of that, I need to find some venues for performance. I have been playing a lot of music &#8220;in the lab&#8221;, relearning my instruments after a long break, and it&#8217;s time to take some of the theory to the real world. Public solo performance is a skill in itself.</p>
<p>Another 2006 goal is to continue the exercise thing that I started back in November, but again with more consistency. I have a treadmill now in my office, and it&#8217;s really easy to prop up my PowerBook on a music stand and start watching DVDs during the workout.</p>
<p>One goal that is a bit newer this year is to start with some serious composition and arranging. I&#8217;m about halfway done with the first movement of the Bottessini Concerto No.2 arrangement for guitar accompaniment, and have sketches going for a prelude for piano and a string quintet. My aim is to complete the above three items for 2006, and re-orchestrate the variations on a theme by Grieg that I did back in 1986 that won me the Dave Brubeck scholarship award.</p>
<p>Book-wise, I have on my stand three PHP books and one inspirational book written by an old friend (more on that one later.) I&#8217;m just about to finish one of the PHP books on security, and the other two are on more advanced concepts. Let&#8217;s call this goal &#8220;always have a book open&#8221;. I also want to try to read more non-geek material for a change. In ten years, I think I read only one book that wasn&#8217;t about code or computers, but I used to read tons of novels back in the day. That&#8217;s the thing with being an obsessive personality in a technology career: You always feel like you have to stay on top of the trends, and any new book on something interesting winds up in the queue on my nightstand. My thinking the past several years has been: &#8220;If it&#8217;s not going to help me with my career, then I don&#8217;t have time right now.&#8221; But now I think it&#8217;s time to introduce a little balance in my reading curriculum.</p>
<p>I think that should do it. A bit of playing music, some exercise, and four compositions. Let&#8217;s see how we do&#8230;</p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/643/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finale PrintMusic: Can&#8217;t RTFM?</title>
		<link>http://www.sanbeiji.com/archives/642</link>
		<comments>http://www.sanbeiji.com/archives/642#comments</comments>
		<pubDate>Wed, 28 Dec 2005 15:32:48 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[composition]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/?p=642</guid>
		<description><![CDATA[This is such a simple thing, and I call this a major oversight on the part of the software vendor: I kept getting errors when trying to access the user manual or tutorials from within Finale PrintMusic 2006, getting errors &#8230; <a href="http://www.sanbeiji.com/archives/642">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F642%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Finale%20PrintMusic%3A%20Can%27t%20RTFM%3F%22%20%7D);"></div>
<p>This is such a simple thing, and I call this a major oversight on the part of the software vendor: I kept getting errors when trying to access the user manual or tutorials from within Finale PrintMusic 2006, getting errors that read something like &#8220;Could not open PMTOC.pdf&#8221;. I found the file after a quick search via Spotlight on my machine and it launched into Preview as this is the default Mac OS X handler for PDF. I got a table of contents, but it was only that. None of the links worked and it was essentially useless. I then noticed that the entire documentation was broken out into separate files. Linking to other local files apparently isn&#8217;t supported in Preview, or it doesn&#8217;t use the same protocol as Adobe Reader. Would have been better to make one PDF document, where anchors are supported in both Reader and Preview.</p>
<p>I <em>hate</em> Adobe Reader (and when the hell did they start calling it &#8220;Reader&#8221; instead of &#8220;Acrobat Reader&#8221;), but I suspected that this wasn&#8217;t going to work otherwise. There was no readme file to suggest that Acrobat was a requirement, so I&#8217;m guessing at this point. I grudgingly went and downloaded the Acrobat Reader from the Adobe site and installed it, and I&#8217;d like to take a moment to lament on Acrobat Reader&#8217;s strange installer: You download a download utility and it downloads another installer. Geeks will say &#8220;WTF? OK, whatever&#8230;&#8221; Non-geeks will just wonder what happened and why they still can&#8217;t open PDFs. Just make one installer, or one binary app that can be dragged to one&#8217;s hard drive. </p>
<p>And now everything works fine, except I have an extra PDF-reading program that I hoped I would never need.</p>
<p>Documentation has always been a tough subject. We have seen the demise of printed manuals. Electronic equivalents have been formatted to PDF, HTML, Flash, and so on, and sent to browsers, PDF readers, operating system help programs, or displayed within the programs own constructs. Vendors often will switch the tools they use, and wildly, between software version releases. It&#8217;s nutty how many ways it can exist, and I don&#8217;t know of any solution to this madness or even if there is one. My favorite method is the style that is used by <a href="http://www.php.net/docs.php" title= "PHP Manual">PHP</a>, complete and updated frequently as it lives online, with printer-friendly formatting and downloadable archives, and a number of freely-available tools that make it easy to use including <a href="http://www.apple.com/downloads/dashboard/">Dashboard</a> and <a href="http://widgets.yahoo.com/gallery/?search=PHP">Konfabulator</a> Widgets.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/642/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zend/PHP Conference, days 3 &amp; 4</title>
		<link>http://www.sanbeiji.com/archives/622</link>
		<comments>http://www.sanbeiji.com/archives/622#comments</comments>
		<pubDate>Sat, 22 Oct 2005 03:29:32 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Dreamweaver]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.sanbeiji.com/?p=622</guid>
		<description><![CDATA[We wrapped up the Zend/PHP conference today and overall it was quite a good show. At the very least, I have my work cut out for me here. I have a stack of books that I picked up at a &#8230; <a href="http://www.sanbeiji.com/archives/622">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_brick-red" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.sanbeiji.com%252Farchives%252F622%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Zend%2FPHP%20Conference%2C%20days%203%20%26%204%22%20%7D);"></div>
<p>We wrapped up the Zend/PHP conference today and overall it was quite a good show. At the very least, I have my work cut out for me here. I have a stack of books that I picked up at a nice show discount from the Sams booth, based on recommendations from many of the others I met at the show.</p>
<p>I&#8217;ve been teaching CSS classes for the past several months, and one colleague described my sessions as something like &#8220;sit down, fly by the seat of your pants, and try to hang on&#8230;&#8221; OK, now I really know what that feels like! Each session was only 45 minutes, and some of these guys were really plowing through some deep coding concepts at warp speed.</p>
<p>My personal highlights for the last two days of event were Chris Shiflett&#8217;s <a href="http://brainbulb.com/talks">Security Audit Howto</a> session, learning about the <a href="http://www.qcodo.com/">Qcodo</a> development framework, and meeting up with the guys at <a href="http://www.interaktonline.com/">Interakt</a>. It was especially cool to finally meet <a href="http://www.interaktonline.com/blogs/alexandru/">Alexandru Costin</a> face to face, since we&#8217;ve had conversations via email for years.</p>
<p>Another unforgettable piece of this event overall has to be reiterated: Marc Andreessen&#8217;s keynote, where he discussed PHP as being one of the first really developer-centric programming languages and picking up where Java left off in this respect, really got the attention of everyone there <a href="http://news.com.com/2100-1012-5903187.html">as well as the media</a>. The <a href="http://developers.slashdot.org/developers/05/10/21/1240258.shtml?tid=156">Slashdot</a> article on Marc&#8217;s comments will give you a flavor of the discussion, and it&#8217;s really tipped off something very large. We will see more of this debate in the months and years to come.</p>
<p>If I had to pick one thing as a chief takeaway from this show, it would have to be just being able to meet all these other great developers and share ideas. This was the first Zend/PHP conference, and I&#8217;m really looking forward to next year.</p>

]]></content:encoded>
			<wfw:commentRss>http://www.sanbeiji.com/archives/622/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced

Served from: www.sanbeiji.com @ 2012-02-11 04:13:04 -->
