{"id":386,"date":"2008-05-13T23:56:49","date_gmt":"2008-05-13T21:56:49","guid":{"rendered":"http:\/\/www.greenman.co.za\/blog\/?page_id=386"},"modified":"2017-11-24T11:48:05","modified_gmt":"2017-11-24T09:48:05","slug":"writing-and-media","status":"publish","type":"page","link":"https:\/\/www.greenman.co.za\/blog\/?page_id=386","title":{"rendered":"Writing and media"},"content":{"rendered":"<p>This page lists my writing for other publications, as well as media appearances &#8211; updated November 2017.<\/p>\n<h3>TV<\/h3>\n<ul>\n<li><a href=\"http:\/\/blog.ethical.org.za\/?p=80\">I appeared on Free Spirit<\/a> in a piece on the <a href=\"http:\/\/www.ethical.org.za\">Ethical Co-op<\/a><\/li>\n<\/ul>\n<h3>MariaDB<\/h3>\n<p>I am employed part-time by the MariaDB Foundation, and do the majority of edits on the <a href=\"https:\/\/mariadb.com\/kb\/user\/id\/1368\">MariaDB Knowledge Base<\/a> and also write on <a href=\"https:\/\/mariadb.org\/author\/ian\/\">mariadb.org<\/a><\/p>\n<h3>Books<\/h3>\n<ul>\n<li>The book <i>Mastering MySQL 4<\/i>, which I slaved over from April to November 2002, was published 22 December 2002 by <a href=\"http:\/\/www.sybex.com\">Sybex<\/a>. You can find more details on <a href='http:\/\/www.amazon.com\/exec\/obidos\/tg\/detail\/-\/0782141625\/qid=1041629630\/sr=1-17\/ref=sr_1_17\/102-8250891-2480968?v=glance&#038;s=books'>Amazon.com<\/a>, <a href='http:\/\/search.barnesandnoble.com\/booksearch\/isbnInquiry.asp?userid=19491PTKUZ&#038;isbn=0782141625&#038;itm=26'>Barnes and Noble<\/a> and the <a href='http:\/\/www.sybex.com\/sybexbooks.nsf\/eb53c6f3885ab8108825695a0080e844\/9bee6b51bead5c2088256bce007dd9ee!OpenDocument&#038;Highlight=0,MySQL'>Sybex website<\/a>. The book was also translated as <i>La Biblia de MySQL<\/i>, published by Anaya Multimedia, in October 2003, into Lithuanian as <i>Vadovas MySQL<\/i>, and into Mandarin as something I can&#8217;t pronounce. Details of the Spanish version are on <a href=\"http:\/\/www.amazon.com\/exec\/obidos\/tg\/detail\/-\/8441515581\/qid=1071881961\/sr=1-2\/ref=sr_1_2\/104-7963138-3996764?v=glance&#038;s=books\">Amazon<\/a> and <a href=\"http:\/\/all-computer-books.co.uk\/8441515581.html\">All Computer Books<\/a>.<\/li>\n<\/ul>\n<h3><a href=\"http:\/\/www.ioltechnology.co.za\">IOL Technology<\/a><\/h3>\n<ul>\n<li><a href=\"http:\/\/www.ioltechnology.co.za\/article_page.php?iSectionId=2884&#038;iArticleId=3932209\">World&#8217;s fastest internet connection unveiled<\/a> &#8211; July, 2007\n<li><a href=\"http:\/\/www.ioltechnology.co.za\/article_page.php?iSectionId=2885&#038;iArticleId=3920005\">eNaTIS hack attack: DoT denying the undeniable<\/a> &#8211; July, 2007\n<li><a href=\"http:\/\/www.ioltechnology.co.za\/article_page.php?iSectionId=2884&#038;iArticleId=3726163\">Vodacom comes out firing in broadband price war<\/a> &#8211; March, 2007\n<li><a href=\"http:\/\/www.ioltechnology.co.za\/article_page.php?iSectionId=2888&#038;iArticleId=3575693\">Running Kubuntu Edgy Eft<\/a> &#8211; December, 2006\n<\/ul>\n<h3><a href=\"http:\/\/www.phpbuilder.com\">PHPBuilder<\/a><\/h3>\n<ul>\n<li><a href=\"http:\/\/phpbuilder.com\/columns\/ian_gilfillan20060630.php3?aid=1181\">An Introduction to PEAR&#8217;s Validate Package<\/a> &#8211; July, 2006\n<li><a href=\"http:\/\/phpbuilder.com\/columns\/ian_gilfillan20060613.php3\">More about PEAR&#8217;s Image_Graph<\/a> &#8211; June, 2006\n<li><a href=\"http:\/\/phpbuilder.com\/columns\/ian_gilfillan20060503.php3\">An Introduction to Graphs Using PEAR&#8217;s Image_Graph Package<\/a> &#8211; May, 2006\n<li><a href=\"http:\/\/phpbuilder.com\/columns\/ian_gilfillan20060412.php3\">Preventing spam when using PHP&#8217;s mail function<\/a> &#8211; April, 2006\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20060309.php3\">phpwiki &#8211; The Wiki for PHP Developers<\/a> &#8211; March, 2006\n<li><a href=\"http:\/\/phpbuilder.com\/columns\/ian_gilfillan200610213.php3\">b2evolution &#8211; a comprehensive blogging engine<\/a> &#8211; February, 2006\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20060103.php3\">Gregarius &#8211; an RSS\/Atom Feed Reader<\/a> &#8211; January, 2006\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20051206.php3\">What&#8217;s new in PHP 5 and PHP 6<\/a> &#8211; December, 2005\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20051102.php3\">Reading RSS feeds in PHP: Part 2<\/a> &#8211; November, 2005\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20051003.php3\">Reading RSS feeds in PHP: Part 1<\/a> &#8211; October, 2005\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20050906.php3\">Database Abstraction in PHP<\/a> &#8211; September, 2005\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20050801.php3\">Fundamentals of PHP Superglobals<\/a> &#8211; August, 2005\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20050707.php3\">Secure programming with PHP<\/a> &#8211; July, 2005\n<li><a href=\"http:\/\/www.phpbuilder.com\/columns\/ian_gilfillan20050525.php3?aid=907\">Using cURL with PHP<\/a> &#8211; May, 2005\n<\/ul>\n<h3><a href=\"http:\/\/www.databasejournal.com\">Database Journal<\/a><\/h3>\n<ul>\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3626276\">A Database Journal Guide to MySQL 5 Certification: The DBA Stream<\/a> &#8211; August, 2006\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3616141\">A Database Journal Guide to MySQL 5 Certification<\/a> &#8211; June, 2006\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3605931\">MySQL &#8211; today&#8217;s contender<\/a> &#8211; May, 2006\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3599166\">Connecting and prepared statements with the mysqli extension<\/a> &#8211; April, 2006\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3592726\">MySQL 5.1 &#8211; the next generation<\/a> &#8211; March, 2006\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3585266\">Pressure on MySQL increases as Oracle purchases Sleepycat, with more to come<\/a> &#8211; February, 2006\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3577131\">Date and Time in MySQL<\/a> &#8211; January, 2006\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3569846\">MySQL Stored Functions<\/a> &#8211; December, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3561731\">Oracle&#8217;s purchase of InnoDB, their release of Oracle Express, and the effect on MySQL<\/a> &#8211; November, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3554616\">MySQL Stored Procedures: Part 3<\/a> &#8211; October, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3547931\">MySQL Stored Procedures: Part 2<\/a> &#8211; September, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3525581\">MySQL Stored Procedures: Part 1<\/a> &#8211; August, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3519116\">MySQL Oddities<\/a> &#8211; July, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3511506\">MySQL 5 Storage Engines<\/a> &#8211; June, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3503526\">A Database Journal Guide to MySQL Certification: Part 2, Professional Certification<\/a> &#8211; May, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3492896\">A Database Journal Guide to MySQL Certification: Part 1, Core Certification<\/a> &#8211; April, 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3486596\">Open Source Databases: A brief look at the Berkeley DB, Derby, Firebird, Ingres, MySQL and PostgreSQL DBMS&#8217;<\/a> &#8211; March 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3469351\">The HAVING and GROUP BY SQL clauses<\/a> &#8211; February 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3459931\">MySQL Query Browser<\/a> &#8211; January 2005\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3449511\">MySQL Administrator<\/a> &#8211; December 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3434641\">MySQL Subqueries<\/a> &#8211; November 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3421751\">MySQL Backups<\/a> &#8211; October 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3408381\">MySQL Transactions, Part III &#8211; BDB Tables, Table locking and Savepoints<\/a> &#8211; September 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3393161\">MySQL Transactions, Part II &#8211; Transaction Isolation Levels<\/a> &#8211; August 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3382171\">Transactions in MySQL<\/a> &#8211; July 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3367871\">Optimizing the mysqld variables<\/a> &#8211; June 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3355201\">Database replication in MySQL<\/a> &#8211; May 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3342351\">MySQL, Still tomorrows contender?<\/a> &#8211; April 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3326351\" >Restoring lost data from the Binary Update Log<\/a> &#8211; March, 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3311731\">An introduction to MySQL permissions<\/a> &#8211; February, 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3300511\">Repairing Database Corruption in MySQL<\/a> &#8211; January, 2004\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3288951\">PostgreSQL vs MySQL: Which is better?<\/a> &#8211; December, 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3110171\">MySQL&#8217;s Query Cache<\/a> &#8211; November, 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3095771\">Table Types in MySQL: Part 2 &#8211; InnoDB tables<\/a> &#8211; October, 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/3077531\">Table Types in MySQL: Part 1 &#8211; HEAP Tables<\/a> &#8211; September, 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/2248101\">Referential integrity in MySQL<\/a> &#8211; August, 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/php\/article.php\/2234861\">An introduction to the ADOdb class library for PHP, Part 2<\/a> &#8211; July, 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/php\/article.php\/2222651\">An introduction to the ADOdb class library for PHP<\/a> &#8211; June, 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/2210771\">Yesterday&#8217;s Toy, Tomorrow&#8217;s Contender<\/a> &#8211; May 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/2201621\">Deleting Duplicate Rows in a MySQL Database<\/a> &#8211; May 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/2190421\">MySQL Date and Time functions &#8211; Part 2<\/a> &#8211; April 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/2172731\">MySQL Date and Time functions &#8211; Part 1<\/a> &#8211; April 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/2112011\">More MySQL logs<\/a> &#8211; March 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/2013631\">MySQL&#8217;s Over-looked and Under-worked Slow Query Log<\/a> &#8211; March 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/1587371\">Using Fulltext Indexes in MySQL &#8211; Part 2<\/a> &#8211; February 2003\n<li><a href=\"http:\/\/www.databasejournal.com\/features\/mysql\/article.php\/1578331\">Using Fulltext Indexes in MySQL &#8211; Part 1<\/a> &#8211; February 2003\n<\/ul>\n<h3><a href=\"http:\/\/www.wdvl.com\">Web Developer&#8217;s Virtual Library<\/a><\/h3>\n<ul>\n<li><a href=\"http:\/\/www.wdvl.com\/Authoring\/DB\/MySQLandPHP\/\">Using a MySQL database with PHP<\/a> &#8211; September 2002\n<li><a href=\"http:\/\/www.wdvl.com\/Authoring\/Languages\/PHP\/Files\/index2.html\">Handling Files with PHP4 &#8211; Part 2<\/a> &#8211; August 2002\n<li><a href=\"http:\/\/www.wdvl.com\/Authoring\/Languages\/PHP\/Files\/\">Handling Files with PHP4 &#8211; Part 1<\/a> &#8211; July 2002\n<li><a href='http:\/\/www.wdvl.com\/Authoring\/DB\/Relational\/' target='_blank'>Introduction to Relational Databases<\/a> &#8211; June 2002\n<li><a href='http:\/\/www.wdvl.com\/Authoring\/Languages\/PHP\/Date_Time\/' target='_blank'>Date and Time in PHP4<\/a> &#8211; May 2002\n<li><a href='http:\/\/www.wdvl.com\/Authoring\/Languages\/PHP\/Maintaining_state\/' target='_blank'>Maintaining State with PHP4 sessions<\/a> &#8211; April 2002\n<li><a href='http:\/\/www.wdvl.com\/Authoring\/DB\/SQL\/Joins\/index.html' target='_blank'>SQL joins &#8211; multi-table queries <\/a> &#8211; February 2002\n<li><a href='http:\/\/www.wdvl.com\/Authoring\/DB\/SQL\/Optimize\/optimize2_1.html' target='_blank'>Optimizing MySQL, Hardware and the Mysqld Variables<\/a> &#8211; December 2001\n<li><a href='http:\/\/www.wdvl.com\/Authoring\/DB\/SQL\/Optimize\/' target='_blank'>Optimizing MySQL Queries and Indexes<\/a> &#8211; November 2001\n<li><a href='http:\/\/www.wdvl.com\/Authoring\/DB\/Normalization\/' target='_blank'>Database Normalization<\/a> &#8211; March 2000\n<\/ul>\n<h3><a href=\"http:\/\/www.tectonic.co.za\">Tectonic<\/a><\/h3>\n<ul>\n<li><a href=\"http:\/\/tectonic.co.za\/view.php?id=1304\">Edgy Kubuntu: A great desktop alternative<\/a> &#8211; December, 2006\n<li><a href=\"http:\/\/www.tectonic.co.za\/view.php?action=view&#038;id=86&#038;topic=Database\">MySQL 4 ready to take on the &#8216;big boys&#8217;?<\/a> &#8211; January 2003. It was picked up by <a href=\"http:\/\/newsvac.newsforge.com\/newsvac\/03\/01\/27\/210222.shtml?tid=11\">Newsforge<\/a>\n<li><a href='http:\/\/www.tectonic.co.za\/view.php?action=view&#038;id=95'>Wikipedia, an open source knowedge base<\/a> &#8211; February, 2003\n<\/ul>\n<h3>Interviews<\/h3>\n<ul>\n<li><a href=\"http:\/\/vincentmaher.com\/mit\/?p=430\">An interview with Ian Gilfillan, SA&#8217;s MySQL guru<\/a> (<a href=\"http:\/\/vincentmaher.com\">Media in Transition<\/a>) &#8211; July 2007\n<li><a href=\"http:\/\/www.tectonic.co.za\/view.php?id=87\">South African author&#8217;s latest book on MySQL<\/a> (<a href=\"http:\/\/tectonic.com\">Tectonic<\/a>) &#8211; January 2003\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This page lists my writing for other publications, as well as media appearances &#8211; updated November 2017. TV I appeared on Free Spirit in a piece on the Ethical Co-op MariaDB I am employed part-time by the MariaDB Foundation, and do the majority of edits on the MariaDB Knowledge Base and also write on mariadb.org&hellip; <a class=\"more-link\" href=\"https:\/\/www.greenman.co.za\/blog\/?page_id=386\">Continue reading <span class=\"screen-reader-text\">Writing and media<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-386","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=\/wp\/v2\/pages\/386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=386"}],"version-history":[{"count":2,"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=\/wp\/v2\/pages\/386\/revisions"}],"predecessor-version":[{"id":2121,"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=\/wp\/v2\/pages\/386\/revisions\/2121"}],"wp:attachment":[{"href":"https:\/\/www.greenman.co.za\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}