<?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>PlaatSoft &#187; Development</title>
	<atom:link href="http://www.plaatsoft.nl/wiibrew/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.plaatsoft.nl/wiibrew</link>
	<description>Happy is the man who finds wisdom, and the man who gets understanding - Proverbs</description>
	<lastBuildDate>Tue, 07 Feb 2012 12:24:00 +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>WAMP + PostgreSQL integration</title>
		<link>http://www.plaatsoft.nl/wiibrew/wamp-postgresql-integration/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/wamp-postgresql-integration/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 13:58:41 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[wamp]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=5894</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>If you want to extend an existing Windows WAMP installation with a PostgreSQL database execute the following steps:</p>
<p>Apache 2.2.X configuration
Add the next line to the Apache 2.2.x httpd.conf configuration:
LoadFile &#8220;C:/Program Files/PostgreSQL/9.1/bin/libpq.dll&#8221;</p>
<p>Above line must be entered before the next line.
LoadModule php5_module &#8220;c:/wamp/bin/php/php5.2.11/php5apache2_2.dll&#8221;</p>
<p>PHP 5.2.X Configuration
Enable (remove trailing ; character) the following two lines in the php.ini configuration [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>If you want to extend an existing Windows WAMP installation with a PostgreSQL database execute the following steps:</p>
<p><strong>Apache 2.2.X configuration</strong><br />
Add the next line to the Apache 2.2.x httpd.conf configuration:<br />
<em>LoadFile &#8220;C:/Program Files/PostgreSQL/9.1/bin/libpq.dll&#8221;</em></p>
<p>Above line must be entered before the next line.<br />
<em>LoadModule php5_module &#8220;c:/wamp/bin/php/php5.2.11/php5apache2_2.dll&#8221;</em></p>
<p><strong>PHP 5.2.X Configuration</strong><br />
Enable (remove trailing ; character) the following two lines in the php.ini configuration file.<br />
<em>extension=php_pdo_pgsql.dll<br />
extension=php_pgsql.dll</em></p>
<p><strong>Restart WAMP</strong><br />
Restart the wamp (apache, php and mysql) software.</p>
<p><strong>Test</strong><br />
Create the following test.php file and place it in the apache www root directory:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
echo extension_loaded('pgsql') ? 'yes':'no';
?&gt;
</pre>
<p>When the php file is executed (http://127.0.0.1/test.php) in apache the following information must be showed on screen.</p>
<p><em>yes</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/wamp-postgresql-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP stock information example</title>
		<link>http://www.plaatsoft.nl/wiibrew/php-stock-information-example/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/php-stock-information-example/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 20:45:46 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[stock]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=5117</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Hereby an easy example how you can use the finance.yahoo.com webservice to fetch stock exchange information with PHP. </p>


	function warquest_stockarray($data,$delim=',',$enclosure='&#34;') {
		$enclosed=false;
		$fldcount=0;
		$linecount=0;
		$fldval='';
		for($i=0;$i&#60;strlen($data);$i++) {
			$chr=$data{$i};
			switch($chr)
			{
				case $enclosure:
					if($enclosed&#38;&#38;$data{$i+1}==$enclosure) {
						$fldval.=$chr;
						++$i;
					} else {
						$enclosed=!$enclosed;
					}
					break;

				case $delim:
					if(!$enclosed) {
						$ret_array[$linecount][$fldcount++]=$fldval;
						$fldval='';
					} else {
						$fldval.=$chr;
					}
					break;

				case &#34;\r&#34;:
					if (!$enclosed&#38;&#38;$data{$i+1}==&#34;\n&#34;) continue;

				case &#34;\n&#34;:
					if(!$enclosed) {
						$ret_array[$linecount++][$fldcount]=$fldval;
						$fldcount=0;
						$fldval='';
					} else {
						$fldval.=$chr;
					}
					break;

				default:
					$fldval.=$chr;
			}
		}
		if($fldval) {
			$ret_array[$linecount][$fldcount]=$fldval;
		}
		return $ret_array;
	}

	function warquest_stock($stocksymbols) {
		$url = sprintf(&#34;http://download.finance.yahoo.com/d/quotes.csv?s=%s&#38;f=snl1d1t1c1ohgvp&#34;, $stocksymbols);
		$data = file_get_contents($url);

		$stocklist=warquest_stockarray($data);

		for($i=0;$i&#60;count($stocklist);$i++) {

			$stocksymbol=trim($stocklist[$i][0], '\&#34;');
			$stock[$stocksymbol][&#34;stocksymbol&#34;] =
			$stock[$stocksymbol][&#34;company&#34;] = trim($stocklist[$i][1], '\&#34;');
			$stock[$stocksymbol][&#34;last&#34;] = $stocklist[$i][2];
			$stock[$stocksymbol][&#34;date&#34;] = [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Hereby an easy example how you can use the finance.yahoo.com webservice to fetch stock exchange information with PHP. </p>
<pre class="brush: php; title: ; notranslate">

	function warquest_stockarray($data,$delim=',',$enclosure='&quot;') {
		$enclosed=false;
		$fldcount=0;
		$linecount=0;
		$fldval='';
		for($i=0;$i&lt;strlen($data);$i++) {
			$chr=$data{$i};
			switch($chr)
			{
				case $enclosure:
					if($enclosed&amp;&amp;$data{$i+1}==$enclosure) {
						$fldval.=$chr;
						++$i;
					} else {
						$enclosed=!$enclosed;
					}
					break;

				case $delim:
					if(!$enclosed) {
						$ret_array[$linecount][$fldcount++]=$fldval;
						$fldval='';
					} else {
						$fldval.=$chr;
					}
					break;

				case &quot;\r&quot;:
					if (!$enclosed&amp;&amp;$data{$i+1}==&quot;\n&quot;) continue;

				case &quot;\n&quot;:
					if(!$enclosed) {
						$ret_array[$linecount++][$fldcount]=$fldval;
						$fldcount=0;
						$fldval='';
					} else {
						$fldval.=$chr;
					}
					break;

				default:
					$fldval.=$chr;
			}
		}
		if($fldval) {
			$ret_array[$linecount][$fldcount]=$fldval;
		}
		return $ret_array;
	}

	function warquest_stock($stocksymbols) {
		$url = sprintf(&quot;http://download.finance.yahoo.com/d/quotes.csv?s=%s&amp;f=snl1d1t1c1ohgvp&quot;, $stocksymbols);
		$data = file_get_contents($url);

		$stocklist=warquest_stockarray($data);

		for($i=0;$i&lt;count($stocklist);$i++) {

			$stocksymbol=trim($stocklist[$i][0], '\&quot;');
			$stock[$stocksymbol][&quot;stocksymbol&quot;] =
			$stock[$stocksymbol][&quot;company&quot;] = trim($stocklist[$i][1], '\&quot;');
			$stock[$stocksymbol][&quot;last&quot;] = $stocklist[$i][2];
			$stock[$stocksymbol][&quot;date&quot;] = trim($stocklist[$i][3], '\&quot;');
			$stock[$stocksymbol][&quot;time&quot;] = trim($stocklist[$i][4], '\&quot;');
			$stock[$stocksymbol][&quot;change&quot;] = $stocklist[$i][5];
			$stock[$stocksymbol][&quot;open&quot;] = $stocklist[$i][6];
			$stock[$stocksymbol][&quot;high&quot;] = $stocklist[$i][7];
			$stock[$stocksymbol][&quot;low&quot;] = $stocklist[$i][8];
			$stock[$stocksymbol][&quot;volume&quot;] = $stocklist[$i][9];
			$stock[$stocksymbol][&quot;prevclose&quot;] = $stocklist[$i][10];
		}
		return $stock;
	}

	print_r(warquest_stock(&quot;DB&quot;));
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/php-stock-information-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drupal 5.x to 6.x migration</title>
		<link>http://www.plaatsoft.nl/wiibrew/drupal-5x-to-6x-migration/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/drupal-5x-to-6x-migration/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 07:46:27 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[v5.x]]></category>
		<category><![CDATA[v6.x]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=3804</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Last night I migrated the oostpoort website from Drupal 5.x to Drupal 6.x.  The following steps did i executed to successful migrate the website.</p>
<p>1. Downloaded for each used 5.x module the 6.x release.
2. Make first backup.
3. Upgrade Drupal 5.20 to latest available level 5.22.
4. Upgrade all used Drupal 5.x modules to latest available level.
5. [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Last night I migrated the <a href="http://www.plaatsoft.nl/oostpoort">oostpoort</a> website from Drupal 5.x to Drupal 6.x.  The following steps did i executed to successful migrate the website.</p>
<p>1. Downloaded for each used 5.x module the 6.x release.<br />
2. Make first backup.<br />
3. Upgrade Drupal 5.20 to latest available level 5.22.<br />
4. Upgrade all used Drupal 5.x modules to latest available level.<br />
5. Make second backup.<br />
6. Disable all none core related modules<br />
7. Uninstall update_status 5.x module<br />
8. Remove all Drupal 5.x modules from file system<br />
9. Remove Drupal 5.x core files from file system.<br />
10. Install Drupal 6.x core on file system<br />
11. Configure settings.php (Take the new 6.x template as base) with correct database settings. Set $update_free_access to TRUE.<br />
12. Access the website.<br />
13. Run update.php two times<br />
14. Now the system runs without any issues on Drupal 6.x<br />
15. Install all needed Drupal 6.x modules.<br />
16. Enable all modules and run again update.php<br />
17. Change $update_free_access to FALSE in settings.php<br />
18. Optional: Update theme template<br />
19. Optional: Make third backup.</p>
<p>Some remarks:<br />
- All these steps took four hours  in total.<br />
- If in the drupal configuration the start URL is &#8220;frontpage&#8221; replace it which &#8220;node&#8221; else the frontpage is not working anymore.<br />
- If any of these steps fail restore the website which the available backup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/drupal-5x-to-6x-migration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Inno Setup review</title>
		<link>http://www.plaatsoft.nl/wiibrew/inno-setup-review/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/inno-setup-review/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 04:15:48 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Installer]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=3682</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Yesterday I did some tests with the Inno Setup. This freeware product is really great. Within 30 minutes I have complety customized a Windows Setup Installer for my PlaatStats tool. So if you are searching for a easy to use Windows Setup Installer checkout the following link</p>
]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Yesterday I did some tests with the Inno Setup. This freeware product is really great. Within 30 minutes I have complety customized a Windows Setup Installer for my PlaatStats tool. So if you are searching for a easy to use Windows Setup Installer checkout the following <a href="http://www.jrsoftware.org/isinfo.php">link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/inno-setup-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QtCreator 1.3.81 not stable</title>
		<link>http://www.plaatsoft.nl/wiibrew/qtcreator_crashing/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/qtcreator_crashing/#comments</comments>
		<pubDate>Wed, 24 Mar 2010 03:35:37 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Crashing]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[QtCreator]]></category>
		<category><![CDATA[v1.3.81]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=3672</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Hi everybody, Some days ago i have upgraded QtCreator (Windows release) from 1.3.1 to 1.3.81 (2.0.0 alpha). This release is not stable with a SubVersion Qt project. Problem is that with or without a Windows subversion client installed (Tigris.org SubVersion client v1.5.8) QtCreator is crashing during the indexing of the Qt SVN project. When I [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Hi everybody, Some days ago i have upgraded QtCreator (Windows release) from 1.3.1 to 1.3.81 (2.0.0 alpha). This release is not stable with a SubVersion Qt project. Problem is that with or without a Windows subversion client installed (Tigris.org SubVersion client v1.5.8) QtCreator is crashing during the indexing of the Qt SVN project. When I remove all .svn directories out of my Qt project QtCreator is running fine. So what could be wrong? Looking forward to a fix for this critical issue?</p>
<p>My bug <a href="http://bugreports.qt.nokia.com/browse/QTCREATORBUG-941">report</a> send to the Qt</p>
<p>P.S. With QtCreator 1.3.1 with trigris.org SubVersion plugin is working fine!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/qtcreator_crashing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JasperReports basic example</title>
		<link>http://www.plaatsoft.nl/wiibrew/jasperreports-basic-example/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/jasperreports-basic-example/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 19:00:46 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Example]]></category>
		<category><![CDATA[JasperReports]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=3482</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Hi everybody,</p>
<p>Today i have played around with JasperReports. Really nice java tool to created very easy reports. I did not find many examples on internet. Therefor I post my first try. I hope this will help other developers starting up with this great tool.</p>
<p>This example runs a query (JDBC connected) with some parameters define in [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Hi everybody,</p>
<p>Today i have played around with JasperReports. Really nice java tool to created very easy reports. I did not find many examples on internet. Therefor I post my first try. I hope this will help other developers starting up with this great tool.</p>
<p>This example runs a query (JDBC connected) with some parameters define in Java. The result is converted to PDF and then zipped.</p>
<p>Test.java file </p>
<pre class="brush: java; title: ; notranslate">

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import java.sql.Connection;
import java.sql.DriverManager;

import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;

/**
 * The Class Test.
 */
public class Test {

	/** The Constant LOG. */
	private static final Logger LOG = Logger.getLogger(test.class);

	/** The Constant BUFFER. */
	final static int BUFFER = 10240;

	/** The connection. */
	static Connection connection = null;

	/**
	 * Connect database.
	 */
	static void ConnectDatabase() {
		try {
			// Load the JDBC driver
			String driverName = &quot;oracle.jdbc.driver.OracleDriver&quot;;
			Class.forName(driverName);

			// Create a connection to the database
			String serverName = &quot;127.0.0.1&quot;;
			String portNumber = &quot;1521&quot;;
			String sid = &quot;XE&quot;;
			String url = &quot;jdbc:oracle:thin:@&quot; + serverName + &quot;:&quot; + portNumber + &quot;:&quot; + sid;
			String username = &quot;test&quot;;
			String password = &quot;test&quot;;
			connection = DriverManager.getConnection(url, username, password);
		} catch (ClassNotFoundException e) {
			System.err.println(&quot;Could not find the database driver&quot;);
		} catch (Exception e) {
			System.err.println(&quot;Could not connect to the database&quot;);
		}
	}

	/**
	 * File zip.
	 */
	static void fileZip() {

		BufferedInputStream origin = null;
		try
		{
			FileOutputStream dest = new FileOutputStream(&quot;test.zip&quot;);
			ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(dest));
			byte data[] = new byte[BUFFER];

			// get a list of files from current directory
			File f = new File(&quot;src/.&quot;);
			String files[] = f.list();

			for (int i=0; i&lt;files.length; i++) {

				System.out.println(&quot;Adding: &quot;+files[i]);
				FileInputStream fi = new FileInputStream(&quot;src/&quot;+files[i]);
				origin = new BufferedInputStream(fi, BUFFER);
				ZipEntry entry = new ZipEntry(files[i]);
				out.putNextEntry(entry);
				int count;
				while((count = origin.read(data, 0, BUFFER)) != -1) {
					out.write(data, 0, count);
				}
				origin.close();
			}
			out.close();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * The main method.
	 *
	 * @param args the arguments
	 */
	public static void main(String[] args) {
		JasperReport jasperReport;
		JasperPrint jasperPrint;

		long start = System.currentTimeMillis();

		try {
			// Log log4j configuration
			final Properties log4jProperties = new Properties();
			log4jProperties.load(new FileInputStream(&quot;etc/log4j.properties&quot;));
			PropertyConfigurator.configure(log4jProperties);

			LOG.info(&quot;Start&quot;);
			LOG.info(&quot;--------&quot;);

			LOG.info(&quot;Compile Jasper XML Report&quot;);
			jasperReport = JasperCompileManager.compileReport(&quot;src/test.jrxml&quot;);
			LOG.info(&quot;time : &quot; + (System.currentTimeMillis() - start)+ &quot; ms.&quot;);

			LOG.info(&quot;Create Database connection&quot;);
			ConnectDatabase();
			LOG.info(&quot;time : &quot; + (System.currentTimeMillis() - start)+ &quot; ms.&quot;);

			LOG.info(&quot;Create parameters&quot;);
			Map &lt;String, Object&gt; parameters = new HashMap&lt;String, Object&gt;();
			parameters.put(&quot;ReportTitle&quot;, &quot;User Report&quot;);
			parameters.put(&quot;DataFile&quot;, &quot;src/test1.jrxml&quot;);
			parameters.put(&quot;IdRange&quot;, 10);	

			LOG.info(&quot;Generated report&quot;);
			jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, connection);
			LOG.info(&quot;time : &quot; + (System.currentTimeMillis() - start)+ &quot; ms.&quot;);

			LOG.info(&quot;Generated PDF&quot;);
			JasperExportManager.exportReportToPdfFile(jasperPrint, &quot;src/test.pdf&quot;);
			LOG.info(&quot;time : &quot; + (System.currentTimeMillis() - start)+ &quot; ms.&quot;);

			LOG.info(&quot;Create Zip File&quot;);
			fileZip();
			LOG.info(&quot;time : &quot; + (System.currentTimeMillis() - start)+ &quot; ms.&quot;);

		} catch (Exception e) {
			e.printStackTrace();
		}
		LOG.info(&quot;--------&quot;);
		LOG.info(&quot;Done&quot;);
	}
}
</pre>
<p>JaspersReports test.jrxml (Report template) file.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;?xml version=&quot;1.0&quot;?&gt;

&lt;jasperReport
		xmlns=&quot;http://jasperreports.sourceforge.net/jasperreports&quot;
		xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
		xsi:schemaLocation=&quot;http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd&quot;
		name=&quot;User Overview&quot; pageWidth=&quot;595&quot; pageHeight=&quot;842&quot; columnWidth=&quot;515&quot; leftMargin=&quot;40&quot; rightMargin=&quot;40&quot; topMargin=&quot;50&quot; bottomMargin=&quot;50&quot;&gt;

	&lt;style name=&quot;Sans_Bold&quot; isDefault=&quot;false&quot; fontName=&quot;DejaVu Sans&quot; fontSize=&quot;8&quot; isBold=&quot;true&quot; isItalic=&quot;false&quot; isUnderline=&quot;false&quot; isStrikeThrough=&quot;false&quot;/&gt;
	&lt;style name=&quot;Sans_Normal&quot; isDefault=&quot;true&quot; fontName=&quot;DejaVu Sans&quot; fontSize=&quot;8&quot; isBold=&quot;false&quot; isItalic=&quot;false&quot; isUnderline=&quot;false&quot; isStrikeThrough=&quot;false&quot;/&gt;
	&lt;style name=&quot;Title&quot; style=&quot;Sans_Bold&quot; fontSize=&quot;12&quot;/&gt;
	&lt;style name=&quot;ColumnHeader&quot; style=&quot;Sans_Bold&quot; forecolor=&quot;white&quot;/&gt;

	&lt;parameter name=&quot;ReportTitle&quot; class=&quot;java.lang.String&quot;&gt;&lt;/parameter&gt;
	&lt;parameter name=&quot;DataFile&quot; class=&quot;java.lang.String&quot;&gt;&lt;/parameter&gt;
	&lt;parameter name=&quot;IdRange&quot; class=&quot;java.lang.Integer&quot;&gt;&lt;/parameter&gt;

	&lt;queryString&gt;&lt;![CDATA[SELECT id, displaynaam, puik_id FROM gebruiker WHERE id &lt;=$P{IdRange} order by id]]&gt;&lt;/queryString&gt;
	&lt;field name=&quot;id&quot; class=&quot;java.lang.Integer&quot;/&gt;
	&lt;field name=&quot;displaynaam&quot; class=&quot;java.lang.String&quot;/&gt;
	&lt;field name=&quot;puik_id&quot; class=&quot;java.lang.String&quot;/&gt;

	&lt;title&gt;
		&lt;band height=&quot;70&quot;&gt;
			&lt;line&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;0&quot; width=&quot;515&quot; height=&quot;1&quot;/&gt;
				&lt;graphicElement/&gt;
			&lt;/line&gt;
			&lt;textField isBlankWhenNull=&quot;true&quot; bookmarkLevel=&quot;1&quot;&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;10&quot; width=&quot;515&quot; height=&quot;30&quot; style=&quot;Sans_Normal&quot;/&gt;
				&lt;textElement textAlignment=&quot;Center&quot;&gt;
					&lt;font size=&quot;22&quot;/&gt;
				&lt;/textElement&gt;
				&lt;textFieldExpression class=&quot;java.lang.String&quot;&gt;&lt;![CDATA[$P{ReportTitle}]]&gt;&lt;/textFieldExpression&gt;
				&lt;anchorNameExpression&gt;&lt;![CDATA[&quot;Title&quot;]]&gt;&lt;/anchorNameExpression&gt;
			&lt;/textField&gt;
			&lt;textField isBlankWhenNull=&quot;true&quot;&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;40&quot; width=&quot;515&quot; height=&quot;20&quot; style=&quot;Sans_Normal&quot;/&gt;
				&lt;textElement textAlignment=&quot;Center&quot;&gt;
					&lt;font size=&quot;14&quot;/&gt;
				&lt;/textElement&gt;
				&lt;textFieldExpression class=&quot;java.lang.String&quot;&gt;&lt;![CDATA[$P{DataFile}]]&gt;&lt;/textFieldExpression&gt;
			&lt;/textField&gt;
		&lt;/band&gt;

	&lt;/title&gt;

	&lt;pageHeader&gt;
		&lt;band height=&quot;15&quot;&gt;
			&lt;frame&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;0&quot; width=&quot;555&quot; height=&quot;15&quot; mode=&quot;Opaque&quot; backcolor=&quot;black&quot;/&gt;
				&lt;staticText&gt;
					&lt;reportElement x=&quot;5&quot; y=&quot;0&quot; width=&quot;155&quot; height=&quot;15&quot; style=&quot;ColumnHeader&quot;/&gt;
					&lt;textElement verticalAlignment=&quot;Middle&quot; textAlignment=&quot;Left&quot;/&gt;
					&lt;text&gt;Id&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;staticText&gt;
					&lt;reportElement x=&quot;125&quot; y=&quot;0&quot; width=&quot;100&quot; height=&quot;15&quot; style=&quot;ColumnHeader&quot;/&gt;
					&lt;textElement verticalAlignment=&quot;Middle&quot;/&gt;
					&lt;text&gt;Displaynaam&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;staticText&gt;
					&lt;reportElement x=&quot;270&quot; y=&quot;0&quot; width=&quot;60&quot; height=&quot;15&quot; style=&quot;ColumnHeader&quot;/&gt;
					&lt;textElement verticalAlignment=&quot;Middle&quot; textAlignment=&quot;Left&quot;/&gt;
					&lt;text&gt;PuikId&lt;/text&gt;
				&lt;/staticText&gt;
				&lt;/frame&gt;
		&lt;/band&gt;
	&lt;/pageHeader&gt;

 &lt;detail&gt;
 	&lt;band height=&quot;15&quot;&gt;
			&lt;frame&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;0&quot; width=&quot;555&quot; height=&quot;15&quot; /&gt;
				&lt;textField&gt;
					&lt;reportElement x=&quot;5&quot; y=&quot;0&quot; width=&quot;155&quot; height=&quot;15&quot;/&gt;
					&lt;textElement verticalAlignment=&quot;Middle&quot; textAlignment=&quot;Left&quot;/&gt;
					&lt;textFieldExpression&gt;$F{id}.toString()&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;textField&gt;
					&lt;reportElement x=&quot;125&quot; y=&quot;0&quot; width=&quot;100&quot; height=&quot;15&quot;/&gt;
					&lt;textElement verticalAlignment=&quot;Middle&quot;/&gt;
					&lt;textFieldExpression&gt;$F{displaynaam}&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
				&lt;textField pattern=&quot;#,###.00&quot;&gt;
					&lt;reportElement x=&quot;270&quot; y=&quot;0&quot; width=&quot;60&quot; height=&quot;15&quot;/&gt;
					&lt;textElement verticalAlignment=&quot;Middle&quot; textAlignment=&quot;Left&quot;/&gt;
					&lt;textFieldExpression&gt;$F{puik_id}&lt;/textFieldExpression&gt;
				&lt;/textField&gt;
			&lt;/frame&gt;
		&lt;/band&gt;
  &lt;/detail&gt;

  &lt;pageFooter&gt;
		&lt;band height=&quot;40&quot;&gt;
			&lt;line&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;10&quot; width=&quot;515&quot; height=&quot;1&quot;/&gt;
				&lt;graphicElement/&gt;
			&lt;/line&gt;
			&lt;textField&gt;
				&lt;reportElement x=&quot;200&quot; y=&quot;20&quot; width=&quot;80&quot; height=&quot;15&quot;/&gt;
				&lt;textElement textAlignment=&quot;Right&quot;/&gt;
				&lt;textFieldExpression class=&quot;java.lang.String&quot;&gt;&lt;![CDATA[&quot;Page &quot; + String.valueOf($V{PAGE_NUMBER}) + &quot; of&quot;]]&gt;&lt;/textFieldExpression&gt;
			&lt;/textField&gt;
			&lt;textField evaluationTime=&quot;Report&quot;&gt;
				&lt;reportElement x=&quot;280&quot; y=&quot;20&quot; width=&quot;75&quot; height=&quot;15&quot;/&gt;
				&lt;textElement/&gt;
				&lt;textFieldExpression class=&quot;java.lang.String&quot;&gt;&lt;![CDATA[&quot; &quot; + String.valueOf($V{PAGE_NUMBER})]]&gt;&lt;/textFieldExpression&gt;
			&lt;/textField&gt;
		&lt;/band&gt;
	&lt;/pageFooter&gt;

	&lt;lastPageFooter&gt;
		&lt;band height=&quot;60&quot;&gt;
			&lt;textField bookmarkLevel=&quot;1&quot;&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;10&quot; width=&quot;515&quot; height=&quot;15&quot;/&gt;
				&lt;textElement textAlignment=&quot;Center&quot;/&gt;
				&lt;textFieldExpression class=&quot;java.lang.String&quot;&gt;&lt;![CDATA[&quot;There were &quot; +
					String.valueOf($V{REPORT_COUNT}) +
					&quot; address records on this report.&quot;]]&gt;&lt;/textFieldExpression&gt;
				&lt;anchorNameExpression&gt;&lt;![CDATA[&quot;Summary&quot;]]&gt;&lt;/anchorNameExpression&gt;
			&lt;/textField&gt;
			&lt;line&gt;
				&lt;reportElement x=&quot;0&quot; y=&quot;30&quot; width=&quot;515&quot; height=&quot;1&quot;/&gt;
				&lt;graphicElement/&gt;
			&lt;/line&gt;
			&lt;textField&gt;
				&lt;reportElement x=&quot;200&quot; y=&quot;40&quot; width=&quot;80&quot; height=&quot;15&quot;/&gt;
				&lt;textElement textAlignment=&quot;Right&quot;/&gt;
				&lt;textFieldExpression class=&quot;java.lang.String&quot;&gt;&lt;![CDATA[&quot;Page &quot; + String.valueOf($V{PAGE_NUMBER}) + &quot; of&quot;]]&gt;&lt;/textFieldExpression&gt;
			&lt;/textField&gt;
			&lt;textField evaluationTime=&quot;Report&quot;&gt;
				&lt;reportElement x=&quot;280&quot; y=&quot;40&quot; width=&quot;75&quot; height=&quot;15&quot;/&gt;
				&lt;textElement/&gt;
				&lt;textFieldExpression class=&quot;java.lang.String&quot;&gt;&lt;![CDATA[&quot; &quot; + String.valueOf($V{PAGE_NUMBER})]]&gt;&lt;/textFieldExpression&gt;
			&lt;/textField&gt;
		&lt;/band&gt;
	&lt;/lastPageFooter&gt;

&lt;/jasperReport&gt;
</pre>
<p>Log4j.properties file</p>
<pre class="brush: java; title: ; notranslate">
log4j.rootLogger=INFO, console, logfile
log4j.appender.logfile.File=../log/test.log

# Appender to log4j.log
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.MaxFileSize=1000KB
log4j.appender.logfile.MaxBackupIndex=9
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss,SSS} %-5p (%c:%L) - %M: %m%n
log4j.appender.logfile.Append=true

# Appender to Console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss,SSS} %-5p (%c:%L) - %M: %m%n
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/jasperreports-basic-example/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GRRLIB 4.2.X Freetype support</title>
		<link>http://www.plaatsoft.nl/wiibrew/grrlib-4-2-x-freetype-support/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/grrlib-4-2-x-freetype-support/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 20:47:21 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Freetype]]></category>
		<category><![CDATA[grrlib]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=3003</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>In this post i have add information how to add freetype library support to the GRRLIB 4.2.X library</p>
<p>GRRLIB_free_print.h</p>

void GRRLIB_InitFreetype();

void GRRLIB_initTexture(void);

void GRRLIB_Printf2(	int x,
							int y,
							const char *string,
							unsigned int fontSize,
							int color); 

GRRLIB_texImg* GRRLIB_GetTexture(void);

<p>GRRLIB_free_print.c</p>

#include &#60;malloc.h&#62;
#include &#60;stdarg.h&#62;
#include &#60;stdio.h&#62;

#include &#60;grrlib.h&#62;

#include &#60;ft2build.h&#62; /* I presume you have freetype for the Wii installed */
#include FT_FREETYPE_H

#include &#34;font_ttf.h&#34;

static FT_Library ftLibrary;
static FT_Face ftFace;

void *fontTempLayer=NULL;
void *fontTexture=NULL;
GRRLIB_texImg image;

extern [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>In this post i have add information how to add freetype library support to the GRRLIB 4.2.X library</p>
<p><strong>GRRLIB_free_print.h</strong></p>
<pre class="brush: cpp; title: ; notranslate">
void GRRLIB_InitFreetype();

void GRRLIB_initTexture(void);

void GRRLIB_Printf2(	int x,
							int y,
							const char *string,
							unsigned int fontSize,
							int color); 

GRRLIB_texImg* GRRLIB_GetTexture(void);
</pre>
<p><strong>GRRLIB_free_print.c</strong></p>
<pre class="brush: cpp; title: ; notranslate">
#include &lt;malloc.h&gt;
#include &lt;stdarg.h&gt;
#include &lt;stdio.h&gt;

#include &lt;grrlib.h&gt;

#include &lt;ft2build.h&gt; /* I presume you have freetype for the Wii installed */
#include FT_FREETYPE_H

#include &quot;font_ttf.h&quot;

static FT_Library ftLibrary;
static FT_Face ftFace;

void *fontTempLayer=NULL;
void *fontTexture=NULL;
GRRLIB_texImg image;

extern  Mtx                  GXmodelView2D;

/* Static function prototypes */
static void BitmapTo4x4RGBA(const unsigned char *src, void *dst, const unsigned int width, const unsigned int height);
static bool BlitGlyph(FT_Bitmap *bitmap, int offset, int top, int color) ;

void GRRLIB_InitFreetype(void)
{
	unsigned int error = FT_Init_FreeType(&amp;ftLibrary);
	if (error)
	{
		exit(0);
	}

	error = FT_New_Memory_Face(ftLibrary, font_ttf, font_ttf_size, 0, &amp;ftFace);
	if (error == FT_Err_Unknown_File_Format)
	{
		exit(0);
	}
	else if (error)
	{
		/* Some other error */
		exit(0);
	}
}

void GRRLIB_initTexture(void)
{
   // Clear previous video frame buffer
   if (fontTexture!=NULL) free(fontTexture);

   fontTempLayer = (void*) calloc(1, 640 * 528 * 4);

   if (fontTempLayer == NULL)
   {
	  /* Oops! Something went wrong! */
	  exit(0);
   }
}

void GRRLIB_Printf2(int x, int y, const char *string, unsigned int fontSize, int color)
{
	unsigned int error = 0;
	int penX = 0;
	int penY = fontSize;
	FT_GlyphSlot slot = ftFace-&gt;glyph;
	FT_UInt glyphIndex = 0;
	FT_UInt previousGlyph = 0;
	FT_Bool hasKerning = FT_HAS_KERNING(ftFace);

    error = FT_Set_Pixel_Sizes(ftFace, 0, fontSize);
	if (error)
	{
		/* Failed to set the font size to the requested size.
		 * You probably should set a default size or something.
		 * I'll leave that up to the reader. */
		 FT_Set_Pixel_Sizes(ftFace, 0, 12);
	}

	/* Convert the string to UTF32 */
	size_t length = strlen(string);
	wchar_t *utf32 = (wchar_t*)malloc(length * sizeof(wchar_t));
	length = mbstowcs(utf32, string, length);

	/* Loop over each character, drawing it on to the 4, until the
	 * end of the string is reached, or until the pixel width is too wide */
	unsigned int loop = 0;
	for (loop = 0; loop &lt; length; ++loop)
    {
		glyphIndex = FT_Get_Char_Index(ftFace, utf32[ loop ]);

		/* To the best of my knowledge, none of the other freetype
		 * implementations use kerning, so my method ends up looking
		 * slightly better <img src='http://www.plaatsoft.nl/wiibrew/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> */
		if (hasKerning &amp;&amp; previousGlyph &amp;&amp; glyphIndex)
		{
			FT_Vector delta;
			FT_Get_Kerning(ftFace, previousGlyph, glyphIndex, FT_KERNING_DEFAULT, &amp;delta);
			penX += delta.x &gt;&gt; 6;
		}

		error = FT_Load_Glyph(ftFace, glyphIndex, FT_LOAD_RENDER);
		if (error)
        {
			/* Whoops, something went wrong trying to load the glyph
			 * for this character... you should handle this better */
			continue;
		}

		if (BlitGlyph(&amp;slot-&gt;bitmap, penX + slot-&gt;bitmap_left+x, penY - slot-&gt;bitmap_top+y, color) == true)
		{
			/* The glyph was successfully blitted to the buffer, move the pen forwards */
			penX += slot-&gt;advance.x &gt;&gt; 6;
			previousGlyph = glyphIndex;
		}
		else
		{
			/* BlitGlyph returned false, the line must be full */
			free(utf32);
			return;
		}
	}

	free(utf32);
}

/* Returns true if the character was draw on to the buffer, false if otherwise */
bool BlitGlyph(FT_Bitmap *bitmap, int offset, int top, int color)
{
	int bitmapWidth = bitmap-&gt;width;
	int bitmapHeight = bitmap-&gt;rows;

	if (offset + bitmapWidth &gt; 640)
	{
		/* Drawing this character would over run the buffer, so don't draw it */
		return false;
	}

	/* Draw the glyph onto the buffer, blitting from the bottom up */
	/* CREDIT: Derived from a function by DragonMinded */
	unsigned char *p = fontTempLayer;
	unsigned int y = 0;
	for (y = 0; y &lt; bitmapHeight; ++y)
	{
		int sywidth = y * bitmapWidth;
		int dywidth = (y + top) * 640;

		unsigned int column = 0;
		for (column = 0; column &lt; bitmapWidth; ++column)
        {
			unsigned int srcloc = column + sywidth;
			unsigned int dstloc = ((column + offset) + dywidth) &lt;&lt; 2;

			/* Copy the alpha value for this pixel into the texture buffer */
			p[ dstloc + 0 ] = (color &amp; 0xff);
			p[ dstloc + 1 ] = ((color &gt;&gt; <img src='http://www.plaatsoft.nl/wiibrew/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> &amp; 0xff);
			p[ dstloc + 2 ] = ((color &gt;&gt; 16) &amp; 0xff);
			p[ dstloc + 3 ] = (bitmap-&gt;buffer[ srcloc ]);
		}
	}

	return true;
}

/* Render the text string to a 4x4RGBA texture, return a pointer to this texture */
GRRLIB_texImg* GRRLIB_GetTexture(void)
{
	/* Create a new buffer, this time to hold the final texture
	 * in a format suitable for the Wii */
	fontTexture = memalign(32, 640 * 528 * 4);

	/* Convert the RGBA temp buffer to a format usuable by GX */
	BitmapTo4x4RGBA(fontTempLayer, fontTexture, 640, 528);
	DCFlushRange(fontTexture, 640 * 528 * 4);

	/* The temp buffer is no longer required */
	free(fontTempLayer);
	image.data=fontTexture;
	image.w=640;
	image.h=528;

	return &amp;image;
}

void BitmapTo4x4RGBA(const unsigned char *src, void *dst, const unsigned int width, const unsigned int height)
{
	unsigned int block = 0;
	unsigned int i = 0;
	unsigned int c = 0;
	unsigned int ar = 0;
	unsigned int gb = 0;
	unsigned char *p = (unsigned char*)dst;

	for (block = 0; block &lt; height; block += 4) {
		for (i = 0; i &lt; width; i += 4) {
			/* Alpha and Red */
			for (c = 0; c &lt; 4; ++c) {
				for (ar = 0; ar &lt; 4; ++ar) {
					/* Alpha pixels */
					*p++ = src[(((i + ar) + ((block + c) * width)) * 4) + 3];
					/* Red pixels */
					*p++ = src[((i + ar) + ((block + c) * width)) * 4];
				}
			}

			/* Green and Blue */
			for (c = 0; c &lt; 4; ++c) {
				for (gb = 0; gb &lt; 4; ++gb) {
					/* Green pixels */
					*p++ = src[(((i + gb) + ((block + c) * width)) * 4) + 1];
					/* Blue pixels */
					*p++ = src[(((i + gb) + ((block + c) * width)) * 4) + 2];
				}
			}
		} /* i */
	} /* block */
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/grrlib-4-2-x-freetype-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wii trace module</title>
		<link>http://www.plaatsoft.nl/wiibrew/wii-trace-module/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/wii-trace-module/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 20:29:18 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[trace]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2995</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>To debug better a Wii application / game i have created a trace C++ module with is logging trace event to file. Please checkout the following code. I hope it benefit someone!</p>
<p>trace.h</p>

#ifndef TRACE_H
#define TRACE_H

class Trace
{
  private:
	FILE * fp;
	char * getDate();

  public:
  	// Constructor &#38; Destructor
	Trace();
 	~Trace();

	// Methodes
	int open(const char *filename);
	int event( const [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>To debug better a Wii application / game i have created a trace C++ module with is logging trace event to file. Please checkout the following code. I hope it benefit someone!</p>
<p><strong>trace.h</strong></p>
<pre class="brush: cpp; title: ; notranslate">
#ifndef TRACE_H
#define TRACE_H

class Trace
{
  private:
	FILE * fp;
	char * getDate();

  public:
  	// Constructor &amp; Destructor
	Trace();
 	~Trace();

	// Methodes
	int open(const char *filename);
	int event( const char *functionName, int threadNr, const char *event, ...);
	int eventRaw( char character);
	int close();
};

#endif
</pre>
<p><strong>trace.cpp</strong></p>
<pre class="brush: cpp; title: ; notranslate">
#include &lt;stdio.h&gt;
#include &lt;gccore.h&gt;
#include &lt;ogcsys.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt;
#include &lt;unistd.h&gt;
#include &lt;ogcsys.h&gt;
#include &lt;stdarg.h&gt;
#include &lt;time.h&gt;

#include &quot;trace.h&quot;

// Enable / Disable trace file functionality
bool traceOn = false;

// ------------------------------
// Constructor
// ------------------------------

Trace::Trace()
{
	fp=NULL;
}

// ------------------------------
// Destructor
// ------------------------------

Trace::~Trace()
{
  close();
}

// ------------------------------
// Methods
// ------------------------------

// Open trace file
int Trace::open(const char *filename)
{
   int returnValue=0;

   if (!traceOn) return -1;

   if((fp=fopen(filename, &quot;wb&quot;))==NULL)
   {
      printf(&quot;Error: Cannot open trace file.\n&quot;);
      returnValue=-2;
   }
   return returnValue;
}

// Close trace file
int Trace::close()
{
   int returnValue=0;

   if (fp!=NULL)
   {
       fclose(fp);
   }
   return returnValue;
}

// Create trace timestamp
char * Trace::getDate()
{
  struct tm *now = NULL;
  time_t time_value = 0;
  static char buf[ 128 ] ;

  // Clear memory
  memset(buf, sizeof(buf), 0x00);

  /* Get time value */
  time_value = time(NULL);          

  /* Get time and date structure */
  now = localtime(&amp;time_value);     

  // Create time stamp
  sprintf(buf,&quot;%02d-%02d-%04d %02d:%02d:%02d&quot;,
	now-&gt;tm_mday, now-&gt;tm_mon+1, now-&gt;tm_year+1900,
	now-&gt;tm_hour,now-&gt;tm_min,now-&gt;tm_sec);

  return buf;
}

// Save trace event in trace file
int Trace::event( const char *functionName, int threadNr, const char *event, ...)
{
   int returnValue=0;
   char buf[ MAX_LEN ];

   // Clear memory
   memset(buf, MAX_LEN, 0x00);

   if (!traceOn) return -1;

   // Expend event string
   va_list list;
   va_start(list, event );
   vsprintf(buf, event, list);

   if (fp!=NULL)
   {
      // Save string to file
	  fprintf(fp,&quot;%s [thread%d-%s] %s\n&quot;,getDate(), threadNr, functionName, buf);
	  fflush(fp);
   }

   return returnValue;
}

// Save trace event in trace file
int Trace::eventRaw( char character)
{
   int returnValue=0;

   if (!traceOn) return -1;

   if (fp!=NULL)
   {
      // Save string to file
	  fprintf(fp,&quot;%c&quot;,character);
	  fflush(fp);
   }

   return returnValue;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/wii-trace-module/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Freeware LDAP server for Windows</title>
		<link>http://www.plaatsoft.nl/wiibrew/freeware-ldap-server/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/freeware-ldap-server/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 11:57:28 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ApachDS]]></category>
		<category><![CDATA[LDAP]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2409</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>For a project i needed a Windows LDAP server (client) software. I try out some commercial and freeware tools. Add the end i like Apache Directory Server the most. So if you are searching for a freeware easy to use LDAP solution for Windows checkout this product. </p>
<p>Apache Directory Server
ApacheDS is an embeddable directory server [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>For a project i needed a Windows LDAP server (client) software. I try out some commercial and freeware tools. Add the end i like Apache Directory Server the most. So if you are searching for a freeware easy to use LDAP solution for Windows checkout this <a href="http://directory.apache.org/">product</a>. </p>
<p><strong>Apache Directory Server</strong><br />
ApacheDS is an embeddable directory server entirely written in Java, which has been certified LDAPv3 compatible by the Open Group. Besides LDAP it supports Kerberos 5 and the Change Password Protocol. It has been designed to introduce triggers, stored procedures, queues and views to the world of LDAP which has lacked these rich constructs.</p>
<p><strong>Apache Directory Studio</strong><br />
 The Studio is an LDAP client platform. It is composed of an Eclipse RCP Application and a set of plugins. Primarily it is built to be used with ApacheDS, but it should work with any LDAP server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/freeware-ldap-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing Administration tools in Windows XP</title>
		<link>http://www.plaatsoft.nl/wiibrew/missing-administration-tools-in-windows-xp/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/missing-administration-tools-in-windows-xp/#comments</comments>
		<pubDate>Fri, 16 Oct 2009 07:07:24 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Windows XP]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2406</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Problem:
If you miss the &#8220;Administration tools&#8221; menu in Windows XP. How can i access these tools without this menu?</p>
<p>Solution:
All the tools in the Administrative tools folder point to Management Console files. Do a search on your Windows system for c:\windows\system32\*.msc and you&#8217;ll find them. The make a shortcut on the desktop to access them!</p>
<p>Tip: Windows [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p><strong>Problem:</strong><br />
If you miss the &#8220;Administration tools&#8221; menu in Windows XP. How can i access these tools without this menu?</p>
<p><strong>Solution:</strong><br />
All the tools in the Administrative tools folder point to Management Console files. Do a search on your Windows system for c:\windows\system32\*.msc and you&#8217;ll find them. The make a shortcut on the desktop to access them!</p>
<p>Tip: Windows disk manager tool can be start by entering &#8220;compmgmt.msc&#8221; in the &#8220;Run&#8221; section!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/missing-administration-tools-in-windows-xp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eclipse: editor does not contain a main type java</title>
		<link>http://www.plaatsoft.nl/wiibrew/eclipse-editor-does-not-contain-a-main-type-java/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/eclipse-editor-does-not-contain-a-main-type-java/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 19:21:18 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2401</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Problem:
Eclipse give &#8220;editor does not contain a main type&#8221; error when you start a class with contain a valid main method.</p>
<p>I know if I enable Maven dependency, that Eclipse will not be able to find the main method. Is it possible to take a class out of the classpath (java.build.path) if it is in the [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p><strong>Problem:</strong><br />
Eclipse give &#8220;editor does not contain a main type&#8221; error when you start a class with contain a valid main method.</p>
<p>I know if I enable Maven dependency, that Eclipse will not be able to find the main method. Is it possible to take a class out of the classpath (java.build.path) if it is in the default directory?</p>
<p><strong>Solution:</strong><br />
I had the same problem, I have to add that file to build path. after adding that file to build path. It worked fine. Go to package explorer &#8211;> build &#8211;> Add to build path || Include. This will solve the issue</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/eclipse-editor-does-not-contain-a-main-type-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Could not open `C:\Program Files\Java\jdk1.6.0_05\lib\i386\jvm.cfg&#8217;</title>
		<link>http://www.plaatsoft.nl/wiibrew/could-not-open-cprogram-filesjavajdk1-6-0_05libi386jvm-cfg/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/could-not-open-cprogram-filesjavajdk1-6-0_05libi386jvm-cfg/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 12:29:26 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2398</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Problem:
I am geting this error when I enter the &#8220;java&#8221; command: &#8220;Error: could not open `C:\Program Files\Java\jdk1.6.0_05\lib\i386\jvm.cfg&#8217;&#8221;</p>
<p>I have configured the PATH variable (Windows XP) and &#8220;javac&#8221; works. I cannot, however, get my programs to run because of the error every time I type &#8220;java&#8221;. Also, I did not install my JDK / SDK to the [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p><strong>Problem:</strong><br />
I am geting this error when I enter the &#8220;java&#8221; command: &#8220;Error: could not open `C:\Program Files\Java\jdk1.6.0_05\lib\i386\jvm.cfg&#8217;&#8221;</p>
<p>I have configured the PATH variable (Windows XP) and &#8220;javac&#8221; works. I cannot, however, get my programs to run because of the error every time I type &#8220;java&#8221;. Also, I did not install my JDK / SDK to the directory in which the computer is looking for the &#8220;java&#8221; cammand (ie. it is not in &#8216;Program Files&#8217;&#8230;). If anyone can help, it would be greatly appreciated. Thank you. </p>
<p><strong>Solution:</strong><br />
Delete the &#8220;java.exe&#8221; file from &#8220;c:\windows&#8221; and &#8220;c:\windows\system32&#8243;. That should fix it. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/could-not-open-cprogram-filesjavajdk1-6-0_05libi386jvm-cfg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Libogc 1.8.0 and GRRLib 4.0 issue</title>
		<link>http://www.plaatsoft.nl/wiibrew/libogc-1-8-0-and-grrlib-4-0-issue/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/libogc-1-8-0-and-grrlib-4-0-issue/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 09:31:13 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[grrlib]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2393</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Today i have downloaded the newest libogc 1.8.0 library and the newest r18 compiler. For some reason the Vector struct is changes with in the new libogc release. This course the GRRLIB v4.0 library not to compile  anymore. Checkout the following link for possible solutions.</p>
]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Today i have downloaded the newest libogc 1.8.0 library and the newest r18 compiler. For some reason the Vector struct is changes with in the new libogc release. This course the GRRLIB v4.0 library not to compile  anymore. Checkout the following <a href="http://grrlib.santo.fr/forum/viewtopic.php?id=222">link</a> for possible solutions.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/libogc-1-8-0-and-grrlib-4-0-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable Keyboard Break on SUN Ultra</title>
		<link>http://www.plaatsoft.nl/wiibrew/disable-keyboard-break-on-sun-ultra/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/disable-keyboard-break-on-sun-ultra/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 18:57:03 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[Ultra 10]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2072</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Disable Keyboard Break on SUN Ultra?                                 </p>
<p>Temporary:</p>

# kbd -a disable

<p>Permanent:</p>
<p>Modify the /etc/default/kbd file, by removing the # from the entry:</p>
<p>    [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Disable Keyboard Break on SUN Ultra?                                 </p>
<p><strong>Temporary:</strong></p>
<pre class="brush: bash; title: ; notranslate">
# kbd -a disable
</pre>
<p><strong>Permanent:</strong></p>
<p>Modify the /etc/default/kbd file, by removing the # from the entry:</p>
<p>        #KEYBOARD_ABORT=enable</p>
<p>        and changing it to:</p>
<p>        KEYBOARD_ABORT=disable</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/disable-keyboard-break-on-sun-ultra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SUN Storedge 3310</title>
		<link>http://www.plaatsoft.nl/wiibrew/sun-storedge-3310/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/sun-storedge-3310/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 07:02:52 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2326</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>SUN Storedge 3310 notes:</p>
<p>Management tool for external SCSI disk</p>

# sccli

<p>SCSI Drivers reinit if not visible with format command:</p>

# devfsadm

<p>of</p>

# reboot -- -r

<p>UFS format </p>

mkfs -F ufs /dev/rdsk/c2t0d0s2  &#60;LUN 1&#62; &#60;Block amount see format&#62;
mkfs -F ufs /dev/rdsk/c2t0d1s2  &#60;LUN 2&#62; &#60;Block amount see format&#62;
mkfs -F ufs /dev/rdsk/c2t0d2s2  &#60;LUN 3&#62; &#60;Block amount see format&#62;
mkfs -F [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p><strong>SUN Storedge 3310 notes:</strong></p>
<p>Management tool for external SCSI disk</p>
<pre class="brush: bash; title: ; notranslate">
# sccli
</pre>
<p>SCSI Drivers reinit if not visible with format command:</p>
<pre class="brush: bash; title: ; notranslate">
# devfsadm
</pre>
<p>of</p>
<pre class="brush: bash; title: ; notranslate">
# reboot -- -r
</pre>
<p>UFS format </p>
<pre class="brush: bash; title: ; notranslate">
mkfs -F ufs /dev/rdsk/c2t0d0s2  &lt;LUN 1&gt; &lt;Block amount see format&gt;
mkfs -F ufs /dev/rdsk/c2t0d1s2  &lt;LUN 2&gt; &lt;Block amount see format&gt;
mkfs -F ufs /dev/rdsk/c2t0d2s2  &lt;LUN 3&gt; &lt;Block amount see format&gt;
mkfs -F ufs /dev/rdsk/c2t0d3s2  &lt;LUN 4&gt; &lt;Block amount see format&gt;
mkfs -F ufs /dev/rdsk/c2t0d4s2  &lt;LUN 5&gt; &lt;Block amount see format&gt;
</pre>
<p>Show SUN hardware PCI info:</p>
<pre class="brush: bash; title: ; notranslate">
# prtconf -v
</pre>
<p>Show SUN harddisk info</p>
<pre class="brush: bash; title: ; notranslate">
# prtvtoc /dev/dsk/c1t0d0s0
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/sun-storedge-3310/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Glassfish notes</title>
		<link>http://www.plaatsoft.nl/wiibrew/glassfish-notes/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/glassfish-notes/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 06:57:23 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Glassfish]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2321</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Glassfish notes:</p>
<p># Create new domain3</p>

./asadmin create-domain --adminport 4850 domain3

<p># Start domain3</p>

./asadmin start-domain domain3

<p># Stop domain3</p>

./asadmin stop-domain domain3

]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p><strong>Glassfish notes:</strong></p>
<p># Create new domain3</p>
<pre class="brush: bash; title: ; notranslate">
./asadmin create-domain --adminport 4850 domain3
</pre>
<p># Start domain3</p>
<pre class="brush: bash; title: ; notranslate">
./asadmin start-domain domain3
</pre>
<p># Stop domain3</p>
<pre class="brush: bash; title: ; notranslate">
./asadmin stop-domain domain3
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/glassfish-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mantis compact installation manual</title>
		<link>http://www.plaatsoft.nl/wiibrew/mantis-compact-installation-manual/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/mantis-compact-installation-manual/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 06:54:01 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Mantis]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2315</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Mantis compact installation manual for Solaris 10</p>
<p>- Patch sun solaris 10.
  Install following packages:
 	- apr-1.2.2
	- libintl-3.4.0
	- libgcc-3.4.6
	- gd-2.0.33</p>
<p>- Install mysql 5.0.24 sun packages
	- mysql-5.0.24</p>
<p>- Create mysql user </p>
<p>- Create mantis database </p>
<p>- Create mantis database user with correct rights. </p>
<p>- Install apache 2.X (latest version)
	- including PHP module</p>
<p>- Adapted http.conf
	- Set correct document [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p><strong>Mantis compact installation manual for Solaris 10</strong></p>
<p>- Patch sun solaris 10.<br />
  Install following packages:<br />
 	- apr-1.2.2<br />
	- libintl-3.4.0<br />
	- libgcc-3.4.6<br />
	- gd-2.0.33</p>
<p>- Install mysql 5.0.24 sun packages<br />
	- mysql-5.0.24</p>
<p>- Create mysql user </p>
<p>- Create mantis database </p>
<p>- Create mantis database user with correct rights. </p>
<p>- Install apache 2.X (latest version)<br />
	- including PHP module</p>
<p>- Adapted http.conf<br />
	- Set correct document root /mantis</p>
<p>- Install start scripts in /etc/rc3.d<br />
	- S99apache2<br />
	- S99mysql</p>
<p>- Install mantis tar in /usr/local/apache2/htdocs</p>
<p>- Create symlink link mantis to mantis-1.1.7 directory</p>
<p>- Start mysql </p>
<p>- Start apache </p>
<p>- Open browser and enter url: http://localhost</p>
<p>- Fill in database connectie<br />
   Database name = mantis<br />
   login = mantis<br />
   password = mantis</p>
<p>- Mantis database is created </p>
<p>- Remove mantis admin pages<br />
    &#8211; rm -rf /usr/local/apache2/mantis/admin</p>
<p>- Change administrator password directory (default password = root)</p>
<p>- Now you are ready to us mantis</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/mantis-compact-installation-manual/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SUN Jumpstart</title>
		<link>http://www.plaatsoft.nl/wiibrew/sun-jump-start/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/sun-jump-start/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 06:46:29 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2308</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>SUN jumpstart notes</p>
<p>jumpstart Logging
\var\tmp</p>
<p>Jumpstart activate on source server
ssh 
# init 0
telnet -lom
sc> break or on SUN keyboard Stop &#8211; A
sc> console -f

ok> boot net &#8211; install</p>
<p>or</p>
<p>sc> reset
sc> break (paar keer)
sc> console -f
ok> boot net &#8211; install</p>
<p>HAB Add jumpstart Node:
./addhabnode.sh nlnwhabgs03-e0 192.168.0.195 00:03:ba:5a:2c:f9 cm03 gs_prof
./addhabnode.sh nlnwhabwe03-e0 192.168.0.194 00:03:ba:5a:31:6d cm03 we_prof</p>
<p>#CM02
./addhabnode.sh deduhabbe01-e0 10.2.211.4 00:03:ba:5a:2d:21 10.2.211.11 be_prof</p>
<p>HAB Jumpstart [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p><strong>SUN jumpstart notes</strong></p>
<p>jumpstart Logging<br />
\var\tmp</p>
<p>Jumpstart activate on source server<br />
ssh <machine_name><br />
# init 0<br />
telnet <machine_name>-lom<br />
sc> break or on SUN keyboard Stop &#8211; A<br />
sc> console -f<br />
<enter><br />
ok> boot net &#8211; install</p>
<p>or</p>
<p>sc> reset<br />
sc> break (paar keer)<br />
sc> console -f<br />
ok> boot net &#8211; install</p>
<p>HAB Add jumpstart Node:<br />
./addhabnode.sh nlnwhabgs03-e0 192.168.0.195 00:03:ba:5a:2c:f9 cm03 gs_prof<br />
./addhabnode.sh nlnwhabwe03-e0 192.168.0.194 00:03:ba:5a:31:6d cm03 we_prof</p>
<p>#CM02<br />
./addhabnode.sh deduhabbe01-e0 10.2.211.4 00:03:ba:5a:2d:21 10.2.211.11 be_prof</p>
<p>HAB Jumpstart flow:<br />
CM01<br />
- in.rarp process<br />
   /etc/ethers (MAC -> hostname )<br />
   /etc/hosts  (hostname -> IP adres)<br />
- inetd deamon must run!<br />
- rpc.bootparam process<br />
  /etc/bootparams (IP adres -> hostname)<br />
- tftpboot (Solaris 2.8 Image)</p>
<p>cd /opt/jumpstart/jumpstart<br />
/rules<br />
	- hostname -> hab profile<br />
/rules.ok<br />
	- Syntax check of rules file.<br />
	- run check.sh to create this file.<br />
/
<profile>
	- Create disk partitie<br />
	- Install OS<br />
	- Delete not needed SUN packages<br />
/complete.sh<br />
	- Create jumpstart_profile file<br />
	- Set Console cable settings<br />
	- Create cmg user<br />
	- Set mac address for multipathing<br />
	- Set not router<br />
	- Copy /config/host file.<br />
	- Copy /config/netmasks file.<br />
	- Copy /config/
<profile>/defaultrouter file<br />
	- Copy /config/snmpd.conf file<br />
	- Copy /config/syslog.conf file<br />
	- Enable login as root without prompt for password on console<br />
	- Disable keyboard break<br />
	- Append /usr/local/bin to PATH<br />
	- Uncomment SUPATH<br />
	- Append /usr/local/sbin and /usr/local/bin to SUPATH<br />
	- Make sysidcfg readonly for root<br />
	- Set some TCP/IP Settings<br />
	- Copy /scripts/general/S99_stage_startup -> /etc/rc2.d<br />
	- Copy 0_stage /etc/jumpstart_stage<br />
	- Copy /config/bashrc -> .bashrc<br />
	- Copy /config/profile -> .profile<br />
	- Insert correct hostname in nodename<br />
/scripts/general/security_before.sh<br />
	- Allow root to set yp ftp sessions<br />
	- Set display locktimeout to 15 minutes<br />
	- Set maximun number of login to 5<br />
	- Create logfiles for su and login<br />
	- Turn off useless lines in inetd.conf<br />
	- Set permission and owner of xhost file<br />
	- Set kernel parameters<br />
	- Prevent IP Spoofing<br />
	- Switch off S88sendmail<br />
	- reboot</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/sun-jump-start/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Enterprise Manager</title>
		<link>http://www.plaatsoft.nl/wiibrew/oracle-enterprise-manager/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/oracle-enterprise-manager/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 20:00:19 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Oracle]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2306</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Oracle Enterprise Manager notes</p>
<p>Start Oracle Enterprise Application Server Manager </p>

./emctl start iasconsole

<p>Note: http://server_name:1158/em</p>
<p>Start Oracle Enterprise Database Manager</p>

./emctl start dbconsole

<p>Note: http://server_name:1158/em</p>
]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Oracle Enterprise Manager notes</p>
<p><strong>Start Oracle Enterprise Application Server Manager </strong></p>
<pre class="brush: bash; title: ; notranslate">
./emctl start iasconsole
</pre>
<p>Note: http://server_name:1158/em</p>
<p><strong>Start Oracle Enterprise Database Manager</strong></p>
<pre class="brush: bash; title: ; notranslate">
./emctl start dbconsole
</pre>
<p>Note: http://server_name:1158/em</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/oracle-enterprise-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pong2 on Nokia S60 device</title>
		<link>http://www.plaatsoft.nl/wiibrew/pong2-on-nokia-s60-device/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/pong2-on-nokia-s60-device/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 09:39:55 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Nokia]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2034</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>This week i have started with the development of Pong2 for the J2ME platform. I will use the Nokia 5800 as hardware platform and the S60 symbian operating system (Nokia 5800) as target operating system.</p>
<p>The following software tools are used:
- Eclipse Pulsar 3.5
- Nokia S60 5th Edition SDK kit.
- eSWT component palet.</p>
<p>Some background information about [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>This week i have started with the development of Pong2 for the J2ME platform. I will use the Nokia 5800 as hardware platform and the S60 symbian operating system (Nokia 5800) as target operating system.</p>
<p>The following software tools are used:<br />
- Eclipse Pulsar 3.5<br />
- Nokia S60 5th Edition SDK kit.<br />
- eSWT component palet.</p>
<p>Some background information about the development tools.</p>
<p><strong>Eclipse Pulsar</strong></p>
<p>Pulsar is a tools integration platform for the mobile developer. It make it easy to get the tools and handset SDKs you need for developing mobile applications.</p>
<p><img src="http://members.tele2.nl/wvdplaat/images/pulsar.jpg" alt="" /></p>
<p><strong>S60 platform overview</strong></p>
<p>The S60 platform is the worldâ€™s most popular smartphone platform. It is implemented in a diverse range of devices and provides application and media developers with a consistent set of technologies. Equally at home delivering advanced enterprise applications, games, or music, the S60 platform gives developers unparalleled opportunities in the mobile space.</p>
<p>To create applications, developers can use Symbian C++ (using native Symbian OS and S60 platform APIs), a set of open C and C++ APIs, the Javaâ„¢ language (using MIDP 2.1 with an extensive range of additional JSRs), Web Runtime (WRT) (using standard web technologies), Flash Lite from Adobe, and Python.</p>
<p>In addition, developers may wish to explore the Qt for S60 technology preview, which provides an insight into a new, cross-platform API that will become available on the S60 platform in the future.</p>
<p>Content developers have comprehensive support for audio, image, and video formats. In addition, Flash Lite from Adobe and SVGT can be used for animated content, while the Web Browser for S60 supports standard desktop web technologies. Artists and graphic designers can create themes for S60 devices that can completely alter a deviceâ€™s look and sound.</p>
<p>Once applications and content have been created, support for OMA DRM protects developersâ€™ intellectual property.</p>
<p>The S60 platform enables developers to create high-value applications and content with lucrative revenue opportunities. The platform approach â€” with uniform implementation of technologies and supporting tools, documentation, and examples â€” requires less effort by developers to grasp the biggest market opportunity.</p>
<p>Find out more about the platformâ€™s value proposition to consumer and enterprise users at S60.com, the &#8220;one-stop shop&#8221; for consumer information on the S60 platform â€” including applications, licensees, devices, news, and blogs.</p>
<p><strong>eSWT stands for Embedded Standard Widget Toolkit.</strong></p>
<p>It is an open source widget toolkit for Java designed to provide efficient, portable access to the user-interface facilities of the devices on which it is implemented. It is co-developed by Nokia, IBM and others in the eRCP Eclipse foundation project.</p>
<p>It&#8217;s API is a subset of desktop SWT API developed also in Eclipse. Additionally eSWT also contains Mobile Extensions for SWT package containing new APIs specially designed for mobile UIs in mind.</p>
<p>For Java ME eSWT provides rich UI functionality:</p>
<p>* rich component set,<br />
* flexible layouts, freely positionable components,<br />
* rich UI events, and<br />
* rich access to native UI functionality on-par with smartphone UI frameworks.</p>
<p>eSWT is designed so that it can both be implemented in CLDC and CDC. It is thus possible to implement that in any Java MIDP device. S60 3rd Edition FP2 will have eSWT accessible in S60 Java for normal MIDlets. In this case it is a complementary UI toolkit for MIDP&#8217;s LCDUI toolkit.</p>
<p>eSWT is also integral part eRCP (Embedded Rich Client Platform), a new rich application model being currently developed in Eclipse. In other words eSWT can be a standalone UI toolkit or provided as part of eRCP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/pong2-on-nokia-s60-device/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Make eclipse Galileo 3.5 work with a NTMLv2 Proxy</title>
		<link>http://www.plaatsoft.nl/wiibrew/make-eclipse-galileo-3-5-work-with-a-ntmlv2-proxy/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/make-eclipse-galileo-3-5-work-with-a-ntmlv2-proxy/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 07:49:53 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=2030</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>I installed eclipse 3.5 at my work place (where we access internet through an authenticated NTML proxy).  I was unable to make eclipse pass through this proxy, which prevented me to install updates and additional software.</p>
<p>Anthony Dahanneâ€™s describes the workaround on his blog (in french). The Apache httpclient implementation should be disabled because it [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>I installed eclipse 3.5 at my work place (where we access internet through an authenticated NTML proxy).  I was unable to make eclipse pass through this proxy, which prevented me to install updates and additional software.</p>
<p>Anthony Dahanneâ€™s describes the workaround on his blog (in french). The Apache httpclient implementation should be disabled because it doesnâ€™t work well with NTMLv2 proxies.</p>
<p>For NTLMv2 Proxies, that require user name and password for access the workaround is to</p>
<p>   1. Disable the ECF httpclient provider.<br />
   2. Provide the NTLMv2 proxy authentication info (proxyhost, domain, username, and password)</p>
<p>In practice, edit your eclipse.ini file to append the following properties.</p>
<p>-Dorg.eclipse.ecf.provider.filetransfer.excludeContributors=org.eclipse.ecf.provider.filetransfer.httpclient<br />
-Dhttp.proxyPort=8080<br />
-Dhttp.proxyHost=myproxy<br />
-Dhttp.proxyUser=mydomain\myusername<br />
-Dhttp.proxyPassword=mypassword<br />
-Dhttp.nonProxyHosts=localhost|127.0.0.1</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/make-eclipse-galileo-3-5-work-with-a-ntmlv2-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SUN hardware benchmark</title>
		<link>http://www.plaatsoft.nl/wiibrew/sun-hardware-benchmark-test/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/sun-hardware-benchmark-test/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 05:32:14 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=1989</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>SUN Enterprise 250 / 248 MHZ / 256 MB
[Feb 14 10:01:48 UTC] Automatic processor type detection found an UltraSPARC-II processor.
[Feb 14 10:01:48 UTC] RC5-72: using core #5 (AnBe 2-pipe).
[Feb 14 10:02:07 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)                0.00:00:16.52 [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>SUN Enterprise 250 / 248 MHZ / 256 MB<br />
[Feb 14 10:01:48 UTC] Automatic processor type detection found an UltraSPARC-II processor.<br />
[Feb 14 10:01:48 UTC] RC5-72: using core #5 (AnBe 2-pipe).<br />
[Feb 14 10:02:07 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)                0.00:00:16.52 [501,916 keys/sec]<br />
[Feb 14 10:02:26 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)                  0.00:00:16.69 [2,823,340 nodes/sec]</p>
<p>SUN Ultra 10 / 333 MHz / 512 MB<br />
[Feb 14 09:59:21 UTC] Automatic processor type detection found an UltraSPARC-IIi processor.<br />
[Feb 14 09:59:21 UTC] RC5-72: using core #5 (AnBe 2-pipe).<br />
[Feb 14 09:59:39 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)               0.00:00:16.15 [685,418 keys/sec]<br />
[Feb 14 09:59:58 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)                 0.00:00:16.84 [3,854,463 nodes/sec]</p>
<p>SUN Ultra 10 / 440 MHZ / 512 MB<br />
[May 01 05:29:15 UTC] Automatic processor type detection found an UltraSPARC-IIi processor.<br />
[May 01 05:29:15 UTC] RC5-72: using core #5 (AnBe 2-pipe).<br />
[May 01 05:29:33 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)              0.00:00:16.23 [908,269 keys/sec]<br />
[May 01 05:29:53 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)                0.00:00:16.91 [5,123,975 nodes/sec]</p>
<p>SUN Blade 100 / 500 MHz / 512 MB<br />
[Feb 14 09:59:21 UTC] Automatic processor type detection found an UltraSPARC-IIe processor.<br />
[Feb 14 09:59:21 UTC] RC5-72: using core #5 (AnBe 2-pipe).<br />
[Feb 14 09:59:39 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)               0.00:00:16.15 [1,101,418 keys/sec]<br />
[Feb 14 09:59:58 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)                 0.00:00:16.84 [5,231,463 nodes/sec]</p>
<p>SUN Blade 1000 / 750 MHZ / 1 GB<br />
[May 01 05:34:12 UTC] Automatic processor type detection found an UltraSPARC-III processor.<br />
[May 01 05:34:12 UTC] RC5-72: using core #5 (AnBe 2-pipe).<br />
[May 01 05:34:31 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)               0.00:00:16.21 [1,557,063 keys/sec]<br />
[May 01 05:34:50 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)                0.00:00:16.59 [8,394,930 nodes/sec]</p>
<p>SUN Fire 210 / 1 GHZ / 4 GB<br />
[Feb 14 10:15:19 UTC] Automatic processor type detection found an UltraSPARC-IIIi processor.<br />
[Feb 14 10:15:20 UTC] RC5-72: using core #5 (AnBe 2-pipe).<br />
[Feb 14 10:15:38 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)                 0.00:00:16.06 [2,079,802 keys/sec]<br />
[Feb 14 10:15:57 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)                   0.00:00:16.43 [11,217,790 nodes/sec]</p>
<p>SUN Fire 240 / 1 GHZ / 4 GB<br />
[Feb 14 10:05:39 UTC] Automatic processor type detection found an UltraSPARC-IIIi processor.<br />
[Feb 14 10:05:39 UTC] RC5-72: using core #5 (AnBe 2-pipe).<br />
[Feb 14 10:05:58 UTC] RC5-72: Benchmark for core #5 (AnBe 2-pipe)                 0.00:00:16.61 [2,088,402 keys/sec]<br />
[Feb 14 10:06:17 UTC] OGR-P2: Benchmark for core #0 (GARSP 6.0)                   0.00:00:16.64 [11,263,969 nodes/sec]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/sun-hardware-benchmark-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MySQL notes</title>
		<link>http://www.plaatsoft.nl/wiibrew/mysql-notes/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/mysql-notes/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 05:27:32 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[MySql]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=1987</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Mysql</p>
<p>#######
Creating MySQL database on Linux system</p>
<p>   1. I assume that you are working from your account and not the root. Start a terminal session and become the superuser (Type su at the prompt and then enter the root password).
   2. Now we&#8217;ll access the MySQL server. Type:</p>
<p>     [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>Mysql</p>
<p>#######<br />
Creating MySQL database on Linux system</p>
<p>   1. I assume that you are working from your account and not the root. Start a terminal session and become the superuser (Type su at the prompt and then enter the root password).<br />
   2. Now we&#8217;ll access the MySQL server. Type:</p>
<p>      mysql -u root -p</p>
<p>      The system prompts for the MySQL root password that you set up in Installing MySQL on Linux. (Note: This is not the Linux root password but the MySQL root password). Enter the password, which is not displayed for security reasons.<br />
      Once you are successfully logged in, the system prints a welcome message and displays the mysql prompt &#8230; something like</p>
<p>      Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
      Your MySQL connection id is 1 to server version: 3.22.32</p>
<p>      Type &#8216;help&#8217; for help.</p>
<p>      mysql> </p>
<p>   3. Now we are ready for creating the employees database. Issue the command:</p>
<p>      create database employees;</p>
<p>      (Note: The command ends with a semi-colon)</p>
<p>   4. An important point to note is that this database is created by the root and so will not be accessible to any other user unless permitted by the root. Thus, in order to use this database from my account (called manish), I have to set the permissions by issuing the following command:</p>
<p>      GRANT ALL ON employees.* TO manish@localhost IDENTIFIED BY &#8220;eagle&#8221;</p>
<p>      The above command grants my account (manish@localhost) all the permissions on employees database and sets my password to eagle. You should replace manish with your user name and choose an appropriate password.<br />
   5. Close the mysql session by typing quit at the prompt. Exit from superuser and come back to your account. (Type exit).<br />
   6. To connect to MySQL from your account, type:</p>
<p>      mysql -u user_name -p</p>
<p>      Type in the password when prompted. (This password was set by the GRANTS ALL&#8230; command above) . The system displays the welcome message once you have successfully logged on to MySQL. Here is how your session should look like:</p>
<p>      [manish@localhost manish]$ mysql -u manish -p<br />
      Enter password:<br />
      Welcome to the MySQL monitor.  Commands end with ; or \g.<br />
      Your MySQL connection id is 3 to server version: 3.22.32</p>
<p>      Type &#8216;help&#8217; for help.</p>
<p>      mysql></p>
<p>   7. Typing the command SHOW DATABASES; will list all the databases available on the system. You should get a display similar to:</p>
<p>      mysql> SHOW DATABASES;<br />
      +&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
      | Database       |<br />
      +&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
      | employees      |<br />
      | mysql          |<br />
      | test           |<br />
      +&#8212;&#8212;&#8212;&#8212;&#8212;-+<br />
      3 rows in set (0.00 sec)</p>
<p>   8. Enter quit at the mysql> prompt to come out of the mysql client program.</p>
<p>########<br />
LOAD DUMP </p>
<p>After you have dumped out your data into a file as described here, FTP or scp that dump file to the home directory (/) on our system.</p>
<p>Once you have uploaded the dump file to your account here, get a shell prompt on our system using telnet or ssh.</p>
<p>Now import the dump file into MySQL by typing all the following on 1 single line at the shell prompt:</p>
<p>    mysql -p -h DBSERVER dbname < dbname.sql </p>
<p>The above assumes that your database name on our system is "dbname" and the dumpfile that you uploaded was named "dbname.sql". Replace those with your correct database name and dumpfile filename. Also replace DBSERVER with your correct database server name.</p>
<p>######<br />
SET OLD PASSWORD</p>
<p>Reset the password to pre-4.1 style for each user that needs to use a pre-4.1 client program. This can be done using the SET PASSWORD statement and the OLD_PASSWORD() function:</p>
<p>mysql> SET PASSWORD FOR &#8216;some_user&#8217;@'some_host&#8217; = OLD_PASSWORD(&#8216;newpwd&#8217;);<br />
mysql> FLUSH PRIVILEGES;</p>
<p>Substitute the password you want to use for â€œnewpwdâ€ in the preceding examples. MySQL cannot tell you what the original password was, so you&#8217;ll need to pick a new one.</p>
<p>######<br />
Drop database </p>
<p>Definition: The drop database command is used when you no longer need one of the SQL databases on your server. It will remove it permanently. It is phrased as: drop database [DatabaseName];<br />
Examples: This will remove the database &#8216;Dresses&#8217; from the MySQL server:</p>
<p>mysql>  drop database Dresses;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/mysql-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GRRLIB 4.0 freetype support</title>
		<link>http://www.plaatsoft.nl/wiibrew/grrlib-40-freetype-library-support/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/grrlib-40-freetype-library-support/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 20:40:02 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[grrlib]]></category>

		<guid isPermaLink="false">http://www.plaatsoft.nl/wiibrew/?p=1842</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>In this post i have add information how to add freetype library support to GRRLIB 4.0 library</p>
<p>Add the following source code section in the upper part of the GRRLIB 4.0 C file.</p>

#include &#38;quot;font_ttf.h&#38;quot;

#define DEFAULT_FIFO_SIZE (256 * 1024)

u32 fb = 0;
static void *xfb[2] = { NULL, NULL};
GXRModeObj *rmode;
void *gp_fifo = NULL;

/******************************************************************************/
/**** FREETYPE START ****/
/* This is [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>In this post i have add information how to add freetype library support to GRRLIB 4.0 library</p>
<p>Add the following source code section in the upper part of the GRRLIB 4.0 C file.</p>
<pre class="brush: cpp; title: ; notranslate">
#include &amp;quot;font_ttf.h&amp;quot;

#define DEFAULT_FIFO_SIZE (256 * 1024)

u32 fb = 0;
static void *xfb[2] = { NULL, NULL};
GXRModeObj *rmode;
void *gp_fifo = NULL;

/******************************************************************************/
/**** FREETYPE START ****/
/* This is a very rough implementation if freetype using GRRLIB */

#include  /* I presume you have freetype for the Wii installed */
#include FT_FREETYPE_H

static FT_Library ftLibrary;
static FT_Face ftFace;

void *fontTempLayer=NULL;
void *fontTexture=NULL;

/* Static function prototypes */
static void BitmapTo4x4RGBA(const unsigned char *src, void *dst, const unsigned int width, const unsigned int height);
static bool BlitGlyph(FT_Bitmap *bitmap, int offset, int top, int color) ;

extern void GRRLIB_InitFreetype(void)
{
	unsigned int error = FT_Init_FreeType(&amp;amp;amp;ftLibrary);
	if (error)
	{
		exit(0);
	}

	error = FT_New_Memory_Face(ftLibrary, font_ttf, font_ttf_size, 0, &amp;amp;amp;ftFace);
	if (error == FT_Err_Unknown_File_Format)
	{
		exit(0);
	}
	else if (error)
	{
		/* Some other error */
		exit(0);
	}
}

extern void GRRLIB_initTexture(void)
{
   // Clear previous video frame buffer
   if (fontTexture!=NULL) free(fontTexture);

   fontTempLayer = (void*) calloc(1, 640 * 480 * 4);

   if (fontTempLayer == NULL)
   {
	  /* Oops! Something went wrong! */
	  exit(0);
   }
}

extern void GRRLIB_Printf2(int x, int y, const char *string, unsigned int fontSize, int color)
{
	unsigned int error = 0;
	int penX = 0;
	int penY = fontSize;
	FT_GlyphSlot slot = ftFace-&amp;amp;gt;glyph;
	FT_UInt glyphIndex = 0;
	FT_UInt previousGlyph = 0;
	FT_Bool hasKerning = FT_HAS_KERNING(ftFace);

    error = FT_Set_Pixel_Sizes(ftFace, 0, fontSize);
	if (error)
	{
		/* Failed to set the font size to the requested size.
		 * You probably should set a default size or something.
		 * I'll leave that up to the reader. */
		 FT_Set_Pixel_Sizes(ftFace, 0, 12);
	}

	/* Convert the string to UTF32 */
	size_t length = strlen(string);
	wchar_t *utf32 = (wchar_t*)malloc(length * sizeof(wchar_t));
	length = mbstowcs(utf32, string, length);

	/* Loop over each character, drawing it on to the 4, until the
	 * end of the string is reached, or until the pixel width is too wide */
	unsigned int loop = 0;
	for (loop = 0; loop &amp;amp;lt; length; ++loop)
    {
		glyphIndex = FT_Get_Char_Index(ftFace, utf32[ loop ]);

		/* To the best of my knowledge, none of the other freetype
		 * implementations use kerning, so my method ends up looking
		 * slightly better <img src='http://www.plaatsoft.nl/wiibrew/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> */
		if (hasKerning &amp;amp;amp;&amp;amp;amp; previousGlyph &amp;amp;amp;&amp;amp;amp; glyphIndex)
		{
			FT_Vector delta;
			FT_Get_Kerning(ftFace, previousGlyph, glyphIndex, FT_KERNING_DEFAULT, Î´);
			penX += delta.x &amp;amp;gt;&amp;amp;gt; 6;
		}

		error = FT_Load_Glyph(ftFace, glyphIndex, FT_LOAD_RENDER);
		if (error)
        {
			/* Whoops, something went wrong trying to load the glyph
			 * for this character... you should handle this better */
			continue;
		}

		if (BlitGlyph(&amp;amp;amp;slot-&amp;amp;gt;bitmap, penX + slot-&amp;amp;gt;bitmap_left+x, penY - slot-&amp;amp;gt;bitmap_top+y, color) == true)
		{
			/* The glyph was successfully blitted to the buffer, move the pen forwards */
			penX += slot-&amp;amp;gt;advance.x &amp;amp;gt;&amp;amp;gt; 6;
			previousGlyph = glyphIndex;
		}
		else
		{
			/* BlitGlyph returned false, the line must be full */
			free(utf32);
			return;
		}
	}

	free(utf32);
}

/* Returns true if the character was draw on to the buffer, false if otherwise */
static bool BlitGlyph(FT_Bitmap *bitmap, int offset, int top, int color)
{
	int bitmapWidth = bitmap-&amp;amp;gt;width;
	int bitmapHeight = bitmap-&amp;amp;gt;rows;

	if (offset + bitmapWidth &amp;amp;gt; 640)
	{
		/* Drawing this character would over run the buffer, so don't draw it */
		return false;
	}

	/* Draw the glyph onto the buffer, blitting from the bottom up */
	/* CREDIT: Derived from a function by DragonMinded */
	unsigned char *p = fontTempLayer;
	unsigned int y = 0;
	for (y = 0; y &amp;amp;lt; bitmapHeight; ++y)
	{
		int sywidth = y * bitmapWidth;
		int dywidth = (y + top) * 640;

		unsigned int column = 0;
		for (column = 0; column &amp;amp;lt; bitmapWidth; ++column)
        {
			unsigned int srcloc = column + sywidth;
			unsigned int dstloc = ((column + offset) + dywidth) &amp;amp;lt;&amp;amp;lt; 2;

			/* Copy the alpha value for this pixel into the texture buffer */
			p[ dstloc + 0 ] = (color &amp;amp;amp; 0xff);
			p[ dstloc + 1 ] = ((color &amp;amp;gt;&amp;amp;gt; <img src='http://www.plaatsoft.nl/wiibrew/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> &amp;amp;amp; 0xff);
			p[ dstloc + 2 ] = ((color &amp;amp;gt;&amp;amp;gt; 16) &amp;amp;amp; 0xff);
			p[ dstloc + 3 ] = (bitmap-&amp;amp;gt;buffer[ srcloc ]);
		}
	}

	return true;
}

/* Render the text string to a 4x4RGBA texture, return a pointer to this texture */
extern void* GRRLIB_GetTexture(void)
{
	/* Create a new buffer, this time to hold the final texture
	 * in a format suitable for the Wii */
	fontTexture = memalign(32, 640 * 480 * 4);

	/* Convert the RGBA temp buffer to a format usuable by GX */
	BitmapTo4x4RGBA(fontTempLayer, fontTexture, 640, 480);
	DCFlushRange(fontTexture, 640 * 480 * 4);

	/* The temp buffer is no longer required */
	free(fontTempLayer);

	return fontTexture;
}

static void BitmapTo4x4RGBA(const unsigned char *src, void *dst, const unsigned int width, const unsigned int height)
{
	unsigned int block = 0;
	unsigned int i = 0;
	unsigned int c = 0;
	unsigned int ar = 0;
	unsigned int gb = 0;
	unsigned char *p = (unsigned char*)dst;

	for (block = 0; block &amp;amp;lt; height; block += 4) {
		for (i = 0; i &amp;amp;lt; width; i += 4) {
			/* Alpha and Red */
			for (c = 0; c &amp;amp;lt; 4; ++c) {
				for (ar = 0; ar &amp;amp;lt; 4; ++ar) {
					/* Alpha pixels */
					*p++ = src[(((i + ar) + ((block + c) * width)) * 4) + 3];
					/* Red pixels */
					*p++ = src[((i + ar) + ((block + c) * width)) * 4];
				}
			}

			/* Green and Blue */
			for (c = 0; c &amp;amp;lt; 4; ++c) {
				for (gb = 0; gb &amp;amp;lt; 4; ++gb) {
					/* Green pixels */
					*p++ = src[(((i + gb) + ((block + c) * width)) * 4) + 1];
					/* Blue pixels */
					*p++ = src[(((i + gb) + ((block + c) * width)) * 4) + 2];
				}
			}
		} /* i */
	} /* block */
}

inline void GRRLIB_DrawImg2(f32 xpos, f32 ypos, u16 width, u16 height, u8 data[], float degrees, float scaleX, f32 scaleY, u8 alpha )
{
   GXTexObj texObj;

	GX_InitTexObj(&amp;amp;amp;texObj, data, width,height, GX_TF_RGBA8,GX_CLAMP, GX_CLAMP,GX_FALSE);
	//GX_InitTexObjLOD(&amp;amp;amp;texObj, GX_NEAR, GX_NEAR, 0.0f, 0.0f, 0.0f, 0, 0, GX_ANISO_1);
	GX_LoadTexObj(&amp;amp;amp;texObj, GX_TEXMAP0);

	GX_SetTevOp (GX_TEVSTAGE0, GX_MODULATE);
  	GX_SetVtxDesc (GX_VA_TEX0, GX_DIRECT);

	Mtx m,m1,m2, mv;
	width *=.5;
	height*=.5;
	guMtxIdentity (m1);
	guMtxScaleApply(m1,m1,scaleX,scaleY,1.0);
	Vector axis =(Vector) {0 , 0, 1 };
	guMtxRotAxisDeg (m2, &amp;amp;amp;axis, degrees);
	guMtxConcat(m2,m1,m);

	guMtxTransApply(m,m, xpos+width,ypos+height,0);
	guMtxConcat (GXmodelView2D, m, mv);
	GX_LoadPosMtxImm (mv, GX_PNMTX0);

	GX_Begin(GX_QUADS, GX_VTXFMT0,4);
  	GX_Position3f32(-width, -height,  0);
  	GX_Color4u8(0xFF,0xFF,0xFF,alpha);
  	GX_TexCoord2f32(0, 0);

  	GX_Position3f32(width, -height,  0);
 	GX_Color4u8(0xFF,0xFF,0xFF,alpha);
  	GX_TexCoord2f32(1, 0);

  	GX_Position3f32(width, height,  0);
	GX_Color4u8(0xFF,0xFF,0xFF,alpha);
  	GX_TexCoord2f32(1, 1);

  	GX_Position3f32(-width, height,  0);
	GX_Color4u8(0xFF,0xFF,0xFF,alpha);
  	GX_TexCoord2f32(0, 1);
	GX_End();
	GX_LoadPosMtxImm (GXmodelView2D, GX_PNMTX0);

	GX_SetTevOp (GX_TEVSTAGE0, GX_PASSCLR);
  	GX_SetVtxDesc (GX_VA_TEX0, GX_NONE);

}

/**** WVDP: FREETYPE END ****/
/******************************************************************************

Add the following part in the GRRLIB.h file

/**** WVDP: FREETYPE START ****/
extern void GRRLIB_InitFreetype();
extern void GRRLIB_initTexture(void);
extern void GRRLIB_Printf2(int x, int y, const char *string, unsigned int fontSize, int color);
extern void* GRRLIB_GetTexture(void);
inline void GRRLIB_DrawImg2(f32 xpos, f32 ypos, u16 width, u16 height, u8 data[], float degrees, float scaleX, f32 scaleY, u8 alpha );
/**** WVDP: FREETYPE END ****/
</pre>
<p>For example how to use this extension, please download the RedSquare source code.<br />
Good Luck with it <img src='http://www.plaatsoft.nl/wiibrew/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' /> If you have any questions, please post a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/grrlib-40-freetype-library-support/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Show JPG image on Wii screen</title>
		<link>http://www.plaatsoft.nl/wiibrew/show-jpg-image-on-screen/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/show-jpg-image-on-screen/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 14:39:21 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[jpg]]></category>

		<guid isPermaLink="false">http://wp.plaatsoft.nl/?p=451</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>The following function shows a jpg image.</p>

void drawJpegImage(char *pictureData, int pictureLength, int x, int y )
{
  JPEGIMG         jpeg;
  int             row,
  col,
  pix,
  offset;
  unsigned int   *jpegout;

  [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>The following function shows a jpg image.</p>
<pre class="brush: cpp; title: ; notranslate">
void drawJpegImage(char *pictureData, int pictureLength, int x, int y )
{
  JPEGIMG         jpeg;
  int             row,
  col,
  pix,
  offset;
  unsigned int   *jpegout;

  memset(&amp;amp;jpeg, 0, sizeof(JPEGIMG));

  jpeg.inbuffer = pictureData;
  jpeg.inbufferlength = pictureLength;

  JPEG_Decompress(&amp;amp;jpeg);

  pix = 0;

  jpegout = (unsigned int *) jpeg.outbuffer;

  offset=(y+yjpegOffset)*320;
  for (row = 0; row &amp;lt; jpeg.height; row++)
  {
      for (col = 0; col &amp;lt; (jpeg.width &amp;gt;&amp;gt; 1); col++)
      {
         frameBuffer[0][offset + col + x] = jpegout[pix++];
      }
      offset+=320;
  }

  free(jpeg.outbuffer);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/show-jpg-image-on-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiled Libogc 1.7.1</title>
		<link>http://www.plaatsoft.nl/wiibrew/compiled-libogc-171/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/compiled-libogc-171/#comments</comments>
		<pubDate>Fri, 26 Dec 2008 14:38:54 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Library]]></category>

		<guid isPermaLink="false">http://wp.plaatsoft.nl/?p=448</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>To help beginner Wii developers i have compiled the latest available libogc 1.7.1 library. I have added to this library libfat 1.0.2 and libsnd 1.0. Please click on the below link to download this library. </p>
<p>Update on 06-02-2010. I removed the download link. Now libogc 1.8.1 with integrated sound module is available. So there is [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>To help beginner Wii developers i have compiled the latest available libogc 1.7.1 library. I have added to this library libfat 1.0.2 and libsnd 1.0. Please click on the below link to download this library. </p>
<p><strong>Update on 06-02-2010. I removed the download link. Now libogc 1.8.1 with integrated sound module is available. So there is not need anymore for this download!  </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/compiled-libogc-171/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wii network library</title>
		<link>http://www.plaatsoft.nl/wiibrew/wii-network-library/</link>
		<comments>http://www.plaatsoft.nl/wiibrew/wii-network-library/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 19:40:33 +0000</pubDate>
		<dc:creator>wplaat</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Library]]></category>

		<guid isPermaLink="false">http://wp.plaatsoft.nl/?p=454</guid>
		<description><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>The following Wii network library was developed by dhewg, and adapted by me. This library also contain functionality to log the start of an application. This event with optional user data (for example highscore information) is send to Google analytics.</p>
Short API description

# Start http / tcp thread
extern int tcp_start_thread(char *name, char *version, char *id1, char [...]]]></description>
			<content:encoded><![CDATA[<img src="http://www.plaatsoft.nl/wiibrew/wp-content/uploads/development-icon.jpg" width="32" height="24" alt="" title="Development" /><br/><p>The following Wii network library was developed by dhewg, and adapted by me. This library also contain functionality to log the start of an application. This event with optional user data (for example highscore information) is send to Google analytics.</p>
<h3><strong>Short API description</strong></h3>
<pre class="brush: cpp; title: ; notranslate">
# Start http / tcp thread
extern int tcp_start_thread(char *name, char *version, char *id1, char *url1, char*id2, char *url2, char *id3, char *url3, char *token, char *userData2, char *userData3);

# Stop network thread
extern int tcp_stop_thread(void);

# Get current state of network statemachine as digit
extern int tcp_get_state_nr(void);

# Get current state of network statemachine as text label
extern char *tcp_get_state(void);

# Set new state
int tcp_set_state(int state, char *userData3);

# Get newest application version from a webpage.
extern char *tcp_get_version(void);

# Get release notes information from a webpage.
extern char *tcp_get_releasenote(void);

# Get highscore xml information from a webservice.
extern char *tcp_get_highscore(void);
</pre>
<h3><strong>Download</strong></h3>
<p>You can download this library be click to below link.</p>
<p>See for a working example the Pong2, BibleQuiz, RedSquare or SpaceBubble source code.</p>
Note: There is a file embedded within this post, please visit this post to download the file.
]]></content:encoded>
			<wfw:commentRss>http://www.plaatsoft.nl/wiibrew/wii-network-library/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

