<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Dev411 Blog: Category mysql</title>
  <subtitle type="html">John Wang on Technology</subtitle>
  <id>tag:www.dev411.com,2005:Typo</id>
  <generator uri="http://www.typosphere.org" version="4.0">Typo</generator>
  <link href="http://www.dev411.com/blog/xml/atom/category/feed.xml" rel="self" type="application/atom+xml"/>
  <link href="http://www.dev411.com/blog/tag/mysql" rel="alternate" type="text/html"/>
  <updated>2007-09-05T00:02:22-05:00</updated>
  <entry>
    <author>
      <name>John Wang</name>
    </author>
    <id>urn:uuid:fd57e1bd-e67a-47e8-96e7-2cffbf7b196a</id>
    <published>2007-09-04T23:38:00-05:00</published>
    <updated>2007-09-05T00:02:22-05:00</updated>
    <title type="html">Database Abstraction - code vs infrastructure</title>
    <link href="http://www.dev411.com/blog/2007/09/04/database-abstraction-code-vs-infrastructure" rel="alternate" type="text/html"/>
    <category term="postgresql" scheme="http://www.dev411.com/blog/tag/postgresql" label="postgresql"/>
    <category term="catalyst" scheme="http://www.dev411.com/blog/tag/catalyst" label="catalyst"/>
    <category term="activerecord" scheme="http://www.dev411.com/blog/tag/activerecord" label="activerecord"/>
    <category term="perl" scheme="http://www.dev411.com/blog/tag/perl" label="perl"/>
    <category term="mysql" scheme="http://www.dev411.com/blog/tag/mysql" label="mysql"/>
    <category term="typo" scheme="http://www.dev411.com/blog/tag/typo" label="typo"/>
    <category term="php" scheme="http://www.dev411.com/blog/tag/php" label="php"/>
    <summary type="html">&lt;p&gt;I've worked on a number of database-driven projects and no matter how much people want database abstraction, it was always difficult to code and maintain. I was recently reminded of this when I read this &lt;a href="http://www.drupal4hu.com/node/64" title="My stance on database abstraction"&gt;Drupal article on dropping PostgreSQL support&lt;/a&gt;. Not only can it be difficult to maintain support for multiple databases, but it may be difficult to find developers.&lt;/p&gt;

&lt;p&gt;One solution of modern programming is to move database abstraction from the code to the infrastructure using a ORM (Object-Relational Mapper) or Data Mapper. A ORM and Data Mapper abstracts the database for you so you no longer have to do tie db abstraction to each app. Not only does it let you code once for multiple databases it lets your users migrate their data from one database to another. This blog runs Typo which is based on Ruby on Rails and ActiveRecord. I've been contemplating migrating Typo from MySQL to PostgreSQL and I've been told that it would be as simple as exporting the data with YAML, updating the database.yml file and importing the data. I haven't gotten around to doing it yet but it is a powerful idea. ActiveRecord is a data mapper and isn't as flexible as a full blown ORM but it gets the job done for the most part. For a full-blown ORM, I think of Perl's DBIx::Class which provides a full OO interface to the RDBMS allowing you to code just once for multiple DBs without limiting you when you want to use some esoteric database-specific SQL. DBIx::Class is often used with the Catalyst Framework but is also used by itself.&lt;/p&gt;

&lt;p&gt;There are PHP frameworks out there like Symfony and Cake but do any of them have stand-alone ORMs? If so, could Drupal move to something like that and solve their maintainership problems once and for all? Drupal is part of the &lt;a href="http://gophp5.org"&gt;Go PHP5&lt;/a&gt; effort so there should be no issue using PHP 5 OO. Something to think about for the Drupal folks if a PHP ORM is available.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;I've worked on a number of database-driven projects and no matter how much people want database abstraction, it was always difficult to code and maintain. I was recently reminded of this when I read this &lt;a href="http://www.drupal4hu.com/node/64" title="My stance on database abstraction"&gt;Drupal article on dropping PostgreSQL support&lt;/a&gt;. Not only can it be difficult to maintain support for multiple databases, but it may be difficult to find developers.&lt;/p&gt;

&lt;p&gt;One solution of modern programming is to move database abstraction from the code to the infrastructure using a ORM (Object-Relational Mapper) or Data Mapper. A ORM and Data Mapper abstracts the database for you so you no longer have to do tie db abstraction to each app. Not only does it let you code once for multiple databases it lets your users migrate their data from one database to another. This blog runs Typo which is based on Ruby on Rails and ActiveRecord. I've been contemplating migrating Typo from MySQL to PostgreSQL and I've been told that it would be as simple as exporting the data with YAML, updating the database.yml file and importing the data. I haven't gotten around to doing it yet but it is a powerful idea. ActiveRecord is a data mapper and isn't as flexible as a full blown ORM but it gets the job done for the most part. For a full-blown ORM, I think of Perl's DBIx::Class which provides a full OO interface to the RDBMS allowing you to code just once for multiple DBs without limiting you when you want to use some esoteric database-specific SQL. DBIx::Class is often used with the Catalyst Framework but is also used by itself.&lt;/p&gt;

&lt;p&gt;There are PHP frameworks out there like Symfony and Cake but do any of them have stand-alone ORMs? If so, could Drupal move to something like that and solve their maintainership problems once and for all? Drupal is part of the &lt;a href="http://gophp5.org"&gt;Go PHP5&lt;/a&gt; effort so there should be no issue using PHP 5 OO. Something to think about for the Drupal folks if a PHP ORM is available.&lt;/p&gt;

</content>
  </entry>
  <entry>
    <author>
      <name>John Wang</name>
    </author>
    <id>urn:uuid:f26c236f-b200-4c9c-aea9-992c5154d261</id>
    <published>2006-10-05T22:07:00-05:00</published>
    <updated>2007-06-16T12:30:25-05:00</updated>
    <title type="html">MySQL Deployment Presentations</title>
    <link href="http://www.dev411.com/blog/2006/10/05/mysql-deployment-presentations" rel="alternate" type="text/html"/>
    <category term="scalability" scheme="http://www.dev411.com/blog/tag/scalability" label="scalability"/>
    <category term="mysql" scheme="http://www.dev411.com/blog/tag/mysql" label="mysql"/>
    <summary type="html">&lt;p&gt;I just ran across the &lt;a href="http://www.mysql.com/industry/web/"&gt;MySQL Web 2.0 page&lt;/a&gt; which lists a number of their users including the following:

&lt;div style="text-align:center"&gt;&lt;a href="http://www.mysql.com/industry/web/"&gt;&lt;img src="http://www.dev411.com/images/articles/200610/blog_mysql_web20.png" alt="MySQL Web2.0" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;The most interesting thing from that page, however, is links to various presentations given by those sites on how they architected their sites to scale with MySQL, some of them scaling up to hundreds of MySQL servers.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;I just ran across the &lt;a href="http://www.mysql.com/industry/web/"&gt;MySQL Web 2.0 page&lt;/a&gt; which lists a number of their users including the following:

&lt;div style="text-align:center"&gt;&lt;a href="http://www.mysql.com/industry/web/"&gt;&lt;img src="http://www.dev411.com/images/articles/200610/blog_mysql_web20.png" alt="MySQL Web2.0" /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;p&gt;The most interesting thing from that page, however, is links to various presentations given by those sites on how they architected their sites to scale with MySQL, some of them scaling up to hundreds of MySQL servers.&lt;/p&gt;

&lt;p&gt;I've included a list of the presentations below because you have to do some page hopping to find which customer pages actually have presentations. The presentations are in PDF and PPT which I've indicated. None of the presentations are in XUL nor do any use the Takahashi method, both of which are becoming more popular.&lt;/p&gt;

&lt;ul&gt;

&lt;li&gt;&lt;a href="http://mysqluc.com/presentations/mysql05/morelock_phillip.pdf"&gt;eVite 2005-04-19 pdf&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.ludicorp.com/flickr/zend-talk.ppt#264,26,Hardware%20Layouts%20for%20LAMP%20Installations" target="_new"&gt;Flickr 2005-10-18 ppt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.niallkennedy.com/blog/uploads/flickr_php.pdf" target="_new"&gt;Flickr 2006-03-14 pdf&lt;/a&gt;: ~25,000 db transactions/second peak&lt;/li&gt;

&lt;li&gt;&lt;a href="http://www.danga.com/words/2004_mysqlcon/mysql-slides.pdf#search=%22livejournal%20presentation%22"&gt;LiveJournal 2004-04-01 pdf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://danga.com/words/2005_oscon/oscon-2005.pdf#search=%22livejournal%20presentation%22"&gt;LiveJournal 2005-08-04 pdf&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://mysqluc.com/presentations/mysql06/mixi_update.pdf" target="_new"&gt;Mixi 2006-04-26 pdf&lt;/a&gt;: More than 100 MySQL servers; Add more than 10 servers/month&lt;/li&gt;

&lt;li&gt;&lt;a href="http://mysqluc.com/presentations/mysql06/carroll_dorion.ppt" target="_new"&gt;Technorati 2006-04-26 ppt&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://mysqluc.com/presentations/mysql05/presz_ed.pdf" target="_new"&gt;TicketMaster 2005-09-05 pdf&lt;/a&gt;&lt;/li&gt;

&lt;li&gt;&lt;a href="http://mysqluc.com/presentations/mysql06/mituzas_wikipedia.pdf" target="_new"&gt;Wikipedia 2006-04-26 pdf&lt;/a&gt;: &amp;gt;25000 SQL requests per second&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wonder if there's anything similar for PostgreSQL deployments at high traffic sites. Let me know if there are other deployment presentations for MySQL, PosgreSQL or other databases at well known, high traffic sites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Lukas Kahwe Smith gave me a link to OmniTI's PostgreSQL deployment presentation which discusses their migration from Oracle.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://images.omniti.net/omniti.com/~jesus/misc/BBPostgres.pdf "&gt;OmniTI pdf&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Update 2:&lt;/strong&gt; Some additional information on MySQL and UUID is available on articles by &lt;a href="http://feedlounge.com/blog/2005/11/20/switched-to-postgresql/"&gt;FeedLounge&lt;/a&gt; and &lt;a href="http://brad.livejournal.com/2173718.html"&gt;Brad Fitzpatrick&lt;/a&gt; (chief architect for SixApart). Interesting discussion on how InnoDB clusters by PK.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update 3:&lt;/strong&gt; Robert Ficcaglia gave me this link to the &lt;a href="http://meta.wikimedia.org/wiki/Wikimedia_servers"&gt;Wikimedia Servers page&lt;/a&gt; at meta.wikimedia.org. Looks like good reading!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>John Wang</name>
    </author>
    <id>urn:uuid:559515eb-db34-4760-832f-3b103e81fc08</id>
    <published>2006-10-02T10:35:00-05:00</published>
    <updated>2007-06-16T12:30:25-05:00</updated>
    <title type="html">Perl, MySQL and UTF-8</title>
    <link href="http://www.dev411.com/blog/2006/10/02/perl-mysql-and-utf-8" rel="alternate" type="text/html"/>
    <category term="perl" scheme="http://www.dev411.com/blog/tag/perl" label="perl"/>
    <category term="mysql" scheme="http://www.dev411.com/blog/tag/mysql" label="mysql"/>
    <category term="unicode" scheme="http://www.dev411.com/blog/tag/unicode" label="unicode"/>
    <category term="orm" scheme="http://www.dev411.com/blog/tag/orm" label="orm"/>
    <summary type="html">&lt;p&gt;One of the mysteries of Perl to me is that why, as of yet, is there no UTF-8 support in DBD::mysql although this issue has been discussed on the msql-mysql-modules list since at least 2003 (using the MARC archives). This is also given that MySQL does have UTF-8 support itself.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;One of the mysteries of Perl to me is that why, as of yet, is there no UTF-8 support in DBD::mysql although this issue has been discussed on the msql-mysql-modules list since at least 2003 (using the MARC archives). This is also given that MySQL does have UTF-8 support itself.&lt;/p&gt;

&lt;p&gt;When I first looked into this I found a few articles on this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.simplicidade.org/notes/archives/2005/12/utf8_and_dbdmys.html"&gt;utf-8 and DBD::mysql by Pedro Melo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.zackvision.com/weblog/2005/11/mt-unicode-mysql.html"&gt;Movable Type, MySQL, Perl, Unicode by Zakaria "Zack" Ajmal: provides a patch for Movable Type 3.2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pedro's article mentions that the reason this hasn't been done for DBD::mysql is that the DBI and DBD::mysql folks cannot decide where to put UTF-8 implementation, i.e. in DBI itself or the DBD drivers. Because, there is still no built-in support. To get around this, there have been numerous patches produced. Andrew Forrest even put together UTF-8 versions of DBI and CGI.pm (link seems broken atm). However, some of these patches seem to have problems and are non-standard.&lt;/p&gt;

&lt;p&gt;If you prefer to use an ORM, DBIx::Class and Class::DBI get around this by implementing UTF-8 support in their own libraries with DBIx::Class::UTF8Columns and Class::DBI::utf8 respectively. I'd recommend DBIx::Class over Class::DBI since it has more functionality (e.g. built-in JOIN support) and is supposed to generate more efficient SQL.&lt;/p&gt;

&lt;p&gt;The intersting thing is that DBD::Pg for PostgreSQL has had built-in UTF-8 support for some time. While not an issue specific to the MySQL database, the UTF-8 perl driver issue is something to consider when choosing MySQL or PostgreSQL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Thanks to Dominic Mitchell for mentioning the latest developer release, &lt;a href="http://search.cpan.org/~capttofu/DBD-mysql-3.0007_1/"&gt;DBD::mysql 3.0007_1&lt;/a&gt; released on 8 Sep 2006, has integrated UTF-8 support. It's a developer release but good things are finally happening!&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>John Wang</name>
    </author>
    <id>urn:uuid:54765f65-4ef7-4bd7-834b-8631923cf4ce</id>
    <published>2006-10-02T03:08:00-05:00</published>
    <updated>2007-06-16T12:30:25-05:00</updated>
    <title type="html">Encoding Hashed UIDs: Base64 vs. Hex vs. Base32</title>
    <link href="http://www.dev411.com/blog/2006/10/02/encoding-hashed-uids-base64-vs-hex-vs-base32" rel="alternate" type="text/html"/>
    <category term="perl" scheme="http://www.dev411.com/blog/tag/perl" label="perl"/>
    <category term="mysql" scheme="http://www.dev411.com/blog/tag/mysql" label="mysql"/>
    <category term="xapian" scheme="http://www.dev411.com/blog/tag/xapian" label="xapian"/>
    <summary type="html">&lt;p&gt;I recently looked at using various encodings for hashed UIDs, e.g. UIDs generated by a crytographic hash algorithm such as SHA-1 or MD5. These are often useful when the UID does not need to have human meaning but should exhibit some uniformity, such as character set and length. I considered Base64 and hexadecimal first because they are commonly used by crypto libraries and then decided on Base64 and Base32 where appropriate. Base36 is actually the most compact case insensitive encoding (using Arabic numbers and Roman letters) but is not an option for me at the moment because there's no Perl module for it that will take arbitrary text and binary input at the moment. &lt;a href="http://search.cpan.org/~rhenssel/Math-Base36-0.02/Base36.pm"&gt;Math::Base36&lt;/a&gt; exists but only handles numbers.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;I recently looked at using various encodings for hashed UIDs, e.g. UIDs generated by a crytographic hash algorithm such as SHA-1 or MD5. These are often useful when the UID does not need to have human meaning but should exhibit some uniformity, such as character set and length. I considered Base64 and hexadecimal first because they are commonly used by crypto libraries and then decided on Base64 and Base32 where appropriate. Base36 is actually the most compact case insensitive encoding (using Arabic numbers and Roman letters) but is not an option for me at the moment because there's no Perl module for it that will take arbitrary text and binary input at the moment. &lt;a href="http://search.cpan.org/~rhenssel/Math-Base36-0.02/Base36.pm"&gt;Math::Base36&lt;/a&gt; exists but only handles numbers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Base64&lt;/strong&gt; has the advantage of generating shorter representations because it uses a 64 character set instead of hexadecimal's 16. While Base 64 can use any 64 characters, many implementations follow &lt;a href="http://tools.ietf.org/html/rfc1421"&gt;IETF PEM RFC 1421&lt;/a&gt; which specifies A-Z, a-z, 0-9, / and + while using = for padding. Because + and / need to be URI escaped, Wikipedia mentions a variant that uses * and - in place of + and / respectively and removes line breaks as well as padding. I used this for a while but unfortunate * cannot be used in DOM ids. Because of this I've switched to using _- instead.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Hexadecimal&lt;/strong&gt; uses 0-9 and A-F and is case insensitive. The representations are longer due to the smaller character set, but case insensitivy can be advantageous in certain situations such as full text indexing with Xapian which is case sensitive, and MySQL which is case insensitive by default. It's common practices to lowercase all the indexed terms using Xapian while reserving uppercase characters for boolean and probabilistic term prefixes. After thinking about how the query parser works for a bit, my conclusion is that lower casing all the inexed terms will make life with Xapian a lot easier. To &lt;a href="http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html"&gt;enable case sensitivity in MySQL&lt;/a&gt;, the table definition needs to be changed.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Base32&lt;/strong&gt; is the middle ground between the 16 character hex and 64 character Base64 encodings, but does not get included in crypto libraries. For UIDs, however, it is especially attractive because it uses a larger character set than hexadecimal resulting in shorter representations and is case insensitive for applications that work better with it. Base32, as defined in &lt;a href="http://tools.ietf.org/html/rfc3548"&gt;IETF RFC 3548&lt;/a&gt;, uses the characters A-Z and 2-7. Since Base32 isn't included in many crypto libraries, an extra encoding is needed, however, creating hashed UIDs only happens once per entry so it seems reasonable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There are some modules on CPAN for Base32 including &lt;a href="http://search.cpan.org/~danpeder/MIME-Base32-1.01/Base32.pm"&gt;MIME::Base32&lt;/a&gt; and &lt;a href="http://search.cpan.org/~miyagawa/Convert-Base32-0.02/lib/Convert/Base32.pm"&gt;Convert::Base32&lt;/a&gt;. For Base32, I'm currently using a patched copy of MIME::Base32 because the CPAN version only handles uppercase. For Base64, I'm using _ and - as the two non-alphanumeric characters.&lt;/p&gt;</content>
  </entry>
  <entry>
    <author>
      <name>John Wang</name>
    </author>
    <id>urn:uuid:b711257e1b6decbe856cea7a587f99d1</id>
    <published>2006-06-26T16:36:00-05:00</published>
    <updated>2007-06-16T12:30:22-05:00</updated>
    <title type="html">Lessons from MySQL</title>
    <link href="http://www.dev411.com/blog/2006/06/26/lessons-from-mysql" rel="alternate" type="text/html"/>
    <category term="hiring" scheme="http://www.dev411.com/blog/tag/hiring" label="hiring"/>
    <category term="mysql" scheme="http://www.dev411.com/blog/tag/mysql" label="mysql"/>
    <summary type="html">&lt;p&gt;I picked up a copy for Fortune Magazine's Secrets of Greatness: Teamwork! issue for the flight to YAPC::NA. There was an insightful article on MySQL. MySQL has 350 workers in 25 countries and 70% of them telecommute. This structure has led to some hiring practices contrary to the norm in other organizations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Employee characteristics:&lt;/strong&gt; Given the decentralized nature of its organization, MySQL for skills, not the ability to play nice with a team.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Finding talent:&lt;/strong&gt; MySQL finds some of its talent (50+ employees) through open source cntributions to its code base. Others also look for developers among those that actively check in good code.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Work schedule:&lt;/strong&gt; CEO Marten Mickos says:&lt;blockquote&gt;&lt;em&gt;The brightest engineers like the calmness and coolness of the night&lt;/em&gt;&lt;/blockquote&gt; and likes hearing the following from prospective employees:&lt;blockquote&gt;&lt;em&gt;question:&lt;/em&gt; How do you plan your day?&lt;br /&gt;&lt;em&gt;answer&lt;/em&gt;: I always sleep until 11 A.M., and then I start working&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While working late at night seemed common when I was in college, when I got to the workplace many developers seemed to work a regular schedule leaving around 5-6pm, albeit in a regular office environment as opposed to MySQL's telecommuting environment. Do you like to work at night and is it common to come in "late" and work late at places other than MySQL? Also, in a non-telecommunting situation, is this mostly for developers without kids? If you do have a start late / work late schedule, why do you like it and what time to you tend to start work?&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;I picked up a copy for Fortune Magazine's Secrets of Greatness: Teamwork! issue for the flight to YAPC::NA. There was an insightful article on MySQL. MySQL has 350 workers in 25 countries and 70% of them telecommute. This structure has led to some hiring practices contrary to the norm in other organizations.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Employee characteristics:&lt;/strong&gt; Given the decentralized nature of its organization, MySQL for skills, not the ability to play nice with a team.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Finding talent:&lt;/strong&gt; MySQL finds some of its talent (50+ employees) through open source cntributions to its code base. Others also look for developers among those that actively check in good code.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Work schedule:&lt;/strong&gt; CEO Marten Mickos says:&lt;blockquote&gt;&lt;em&gt;The brightest engineers like the calmness and coolness of the night&lt;/em&gt;&lt;/blockquote&gt; and likes hearing the following from prospective employees:&lt;blockquote&gt;&lt;em&gt;question:&lt;/em&gt; How do you plan your day?&lt;br /&gt;&lt;em&gt;answer&lt;/em&gt;: I always sleep until 11 A.M., and then I start working&lt;/blockquote&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While working late at night seemed common when I was in college, when I got to the workplace many developers seemed to work a regular schedule leaving around 5-6pm, albeit in a regular office environment as opposed to MySQL's telecommuting environment. Do you like to work at night and is it common to come in "late" and work late at places other than MySQL? Also, in a non-telecommunting situation, is this mostly for developers without kids? If you do have a start late / work late schedule, why do you like it and what time to you tend to start work?&lt;/p&gt;

</content>
  </entry>
  <entry>
    <author>
      <name>John Wang</name>
    </author>
    <id>urn:uuid:281a18183a90778cd4aa25d30ebfdd1c</id>
    <published>2006-06-21T17:04:00-05:00</published>
    <updated>2007-06-16T12:30:22-05:00</updated>
    <title type="html">Birth of a Typo Blog</title>
    <link href="http://www.dev411.com/blog/2006/06/21/birth-of-a-typo-blog" rel="alternate" type="text/html"/>
    <category term="mysql" scheme="http://www.dev411.com/blog/tag/mysql" label="mysql"/>
    <category term="typo" scheme="http://www.dev411.com/blog/tag/typo" label="typo"/>
    <category term="apache" scheme="http://www.dev411.com/blog/tag/apache" label="apache"/>
    <category term="lighttpd" scheme="http://www.dev411.com/blog/tag/lighttpd" label="lighttpd"/>
    <summary type="html">&lt;p&gt;I'm giving Typo a shot after hearing some good things about it and having performance problems at a hosted blog service. It's been pretty good so far. Let's see how it runs in action.&lt;/p&gt;

&lt;p&gt;I'm currently using the Lucid theme. So far I've played with Azure (the default), Lucid and Phokus. The default font size seems smaller than normal on other sites. Let me know if it's too small or there are other issues.&lt;/p&gt;

&lt;p&gt;Up until now, &lt;a href="http://www.dev411.com/"&gt;my wiki&lt;/a&gt; has been the only app at this domain. I'm leaning towards putting commentary, questions, short summaries and the like in the blog while the wiki would still contain reference type information. To that end, I put up some &lt;a href="http://www.dev411.com/wiki/Installing_Typo:_MySQL%2C_Apache%2C_lighttpd_and_FastCGI"&gt;detailed Typo install instructions covering MySQL, Apache, lighttpd and FastCGI&lt;/a&gt; on the wiki.  Right now it just covers installation as I'm just getting into customizing the template. Let me know what you think.&lt;/p&gt;</summary>
    <content type="html">&lt;p&gt;I'm giving Typo a shot after hearing some good things about it and having performance problems at a hosted blog service. It's been pretty good so far. Let's see how it runs in action.&lt;/p&gt;

&lt;p&gt;I'm currently using the Lucid theme. So far I've played with Azure (the default), Lucid and Phokus. The default font size seems smaller than normal on other sites. Let me know if it's too small or there are other issues.&lt;/p&gt;

&lt;p&gt;Up until now, &lt;a href="http://www.dev411.com/"&gt;my wiki&lt;/a&gt; has been the only app at this domain. I'm leaning towards putting commentary, questions, short summaries and the like in the blog while the wiki would still contain reference type information. To that end, I put up some &lt;a href="http://www.dev411.com/wiki/Installing_Typo:_MySQL%2C_Apache%2C_lighttpd_and_FastCGI"&gt;detailed Typo install instructions covering MySQL, Apache, lighttpd and FastCGI&lt;/a&gt; on the wiki.  Right now it just covers installation as I'm just getting into customizing the template. Let me know what you think.&lt;/p&gt;

</content>
  </entry>
</feed>

