<?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>Siliconfuture.net</title>
	<atom:link href="http://www.siliconfuture.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.siliconfuture.net/blog</link>
	<description>An Engineering Masterpiece, Really!</description>
	<lastBuildDate>Sun, 25 Jul 2010 20:19:10 +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>Porting DB Designer Fork to Lazarus and the Free Pascal Compiler</title>
		<link>http://www.siliconfuture.net/blog/2010/07/porting-db-designer-fork-to-lazarus-and-the-free-pascal-compiler/</link>
		<comments>http://www.siliconfuture.net/blog/2010/07/porting-db-designer-fork-to-lazarus-and-the-free-pascal-compiler/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 20:19:10 +0000</pubDate>
		<dc:creator>Sam Nelson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.siliconfuture.net/blog/?p=195</guid>
		<description><![CDATA[DB Designer is an excellent visual database design tool that was originally written and maintained by fabFORCE. The main developer was subsequently hired by MySQL and DB Designer became the MySQL workbench tool. Sometime after this the original DB Designer 4 code was forked as a new open source project to continue development on this [...]]]></description>
			<content:encoded><![CDATA[<p>DB Designer is an excellent visual database design tool that was originally written and maintained by <a href="http://www.fabforce.net">fabFORCE</a>.  The main developer was subsequently hired by MySQL and DB Designer became the MySQL workbench tool.  Sometime after this the original DB Designer 4 code was forked as a new open source <a href="http://sourceforge.net/projects/dbdesigner-fork/">project</a> to continue development on this great piece of software.  I have used the software off and on since the pre-fork days of DB Designer 4 for various database projects.  Recently I started using dbdesigner-fork for a new database project and wanted to try to debug some memory access violation errors that kept popping up while reverse engineering an Oracle database.  I soon found out that in order to build the software, one needed a copy of Delphi 7 (for windows builds) or Kylix 3 (for linux builds).  Unfortunately, these software packages are getting a bit long in the tooth and are becoming harder and harder to find for purchase on-line.  Not to mention that the cost for either is in my opinion (for an older piece of software) quite high.</p>
<p>In the open source spirit of things I decided that I would try to attempt porting the software to build with the open source Lazarus IDE and Free Pascal Compiler.  Here are some benefits I can see from doing this.</p>
<ul>
<li>It would lower the barrier to entry for new contributors to the project as the tools required to develop it would be free and open source.</li>
<li>It would also (in my own opinion) make the project more supportable by using a current and actively developed compiler / library.</li>
<li>Lazarus also makes developing cross-platform projects a little bit easier, so if the porting goes well, Windows, Mac and Linux binaries could be released together.</li>
<li>Unicode support has been in Lazarus for some time compared to Delphi which only started supporting Unicode in Delphi 2007.</li>
</ul>
<p>The purpose of this posting is to document my attempt to get a working build of dbdesigner-fork under Lazarus.  I have very little experience with Delphi/Kylix and object pascal in general, so this may be a long and bumpy road.  However, I hope that by documenting the process with all of my dumb mistakes along the way it may help others who are trying to port over legacy Delphi code to Lazarus.</p>
<h2>Getting the Code</h2>
<p>I&#8217;m a bit of an amateur when it comes to software development so I only recently started using version control for my software projects.  I initially used bazaar as it was the &#8220;official&#8221; Ubuntu revision control software.  However, it was slow and kind of clunky.  I stumbled upon git after watching a rather humorous <a href="http://www.youtube.com/watch?v=4XpnKHJAok8">video</a> of Linus Torvalds speaking on git and his rant about how much he couldn&#8217;t stand CVS and SVN.  Now I&#8217;m not as opinionated as Torvalds when it comes to SVN, but I would prefer to use git as I am familiar with it (albeit at a somewhat limited level).  Luckily there is a nice tool out there, at least for linux called <em>git-svn</em>.  It allows you to interface with subversion projects using the git tools I am familiar with.  Enough talk, lets do some work!</p>
<p>Using git-svn<br />
<a href="http://www.viget.com/extend/effectively-using-git-with-subversion/">http://www.viget.com/extend/effectively-using-git-with-subversion/</a><br />
<a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html">http://www.kernel.org/pub/software/scm/git/docs/git-svn.html</a></p>
<p>First, install the git-svn package (instructions for Ubuntu 9.10)</p>
<pre>$ sudo apt-get install git-svn</pre>
<p>I keep all my code projects under the <em>src</em> directory in my home:</p>
<pre>$ cd src </pre>
<p>Now clone the existing dbdesigner-fork repository into the src directory</p>
<pre>$ git svn clone https://dbdesigner-fork.svn.sourceforge.net/svnroot/dbdesigner-fork</pre>
<p>The full source tree with revisions checked out is only 52Mb, not bad.</p>
<pre>$ du -sh dbdesigner-fork/
52M	dbdesigner-fork/</pre>
<p>I also created and switched to a new branch for the Lazarus porting work:</p>
<pre>$ cd dbdesigner-fork
$ git branch lazarus-dev
$ git checkout lazarus-dev
</pre>
<h2>Installing Lazarus</h2>
<p>Very easy under either Linux or Windows.  Following are instructions for Ubuntu 9.10.</p>
<p>Get the Lazarus package (includes dependencies such as FPC)</p>
<pre>$ sudo apt-get install lazarus</pre>
<h2>Resources</h2>
<p>There are several resources on the Lazarus <a href="http://wiki.lazarus.freepascal.org">wiki</a> that give guidance on how to port software from Delphi/Kylix over to Lazarus/FPC.</p>
<ul>
<li><a href="http://wiki.lazarus.freepascal.org/Lazarus_Components">Lazarus Components</a> &#8211; Comparison between Lazarus and Turbo Delphi components</li>
<li><a href="http://wiki.lazarus.freepascal.org/Lazarus_For_Delphi_Users">Lazarus For Delphi Users</a> &#8211; For Delphi users who are getting started with Lazarus</li>
<li><a href="http://wiki.lazarus.freepascal.org/Code_Conversion_Guide">Code Conversion Guide</a> &#8211; How to convert existing code and components from Delphi and Kylix</li>
</ul>
<p>In addition to these, some background information on Delphi is helpful</p>
<ul>
<li><a href="http://www.blong.com/Conferences/DCon2001/VCLvsCLX/VCLvsCLX.htm">CLX vs VCL</a></li>
<li><a href="http://port2laz.blogspot.com/2005/12/from-clx-to-vcl.html">Porting from Delphi to Lazarus</a></li>
</ul>
<p>Some possible drawbacks to using Lazarus<br />
No MDI:</p>
<p>http://wiki.lazarus.freepascal.org/index.php/MultiDoc</p>
<p>http://objectmix.com/pascal/78231-lazarus.html</p>
<h2>Modifying the Code</h2>
<p>I&#8217;m going to start the porting process by following the instructions listed on the Lazarus <a href="http://wiki.lazarus.freepascal.org/Code_Conversion_Guide#Another_method_to_convert_a_Delphi_or_Kylix_project_to_Lazarus">Code Conversion Guide</a>.</p>
<h4>Renaming Files</h4>
<p>First, rename .xfm files to .lfm (kind of a clunky way to do it using bash, I welcome suggestions on how to improve this!)</p>
<pre>for i in $(find ~/src/dbdesigner-fork/ -name "*.xfm"); do mv $i ${i%%.*}.lfm; done</pre>
<p>Add the new files.  By the way, this is super easy with git, the following command adds all new files in the current directory and below:</p>
<pre>$ git add .</pre>
<p>Commit the changes (I&#8217;m paranoid so I commit alot&#8230;), by the way, the &#8216;-a&#8217; option here ensures that the rename from xfm to lfm is properly tracked.</p>
<pre>$ git commit -a -m "Renamed form data files"</pre>
<p><strong>Lesson Learned:</strong> I screwed up my commits and adds a few times and it is nice to be able to back up a step using git.  Use the following command to checkout the last commit.</p>
<pre>git reset --hard HEAD^</pre>
<p>Now rename the main project file and update repository</p>
<pre>$ mv DBDesignerFork.dpr DBDesignerFork.lpr
$ git add DBDesignerFork.lpr
$ git commit -a -m "Renamed main project file"</pre>
<h2>Editing Main Project File</h2>
<p>Following the directions in the code conversion guide again.</p>
<ol>
<li>Add {$mode delphi}{$H+} or {$mode objfpc}{H+} directives</li>
<li>Add &#8216;Interfaces&#8217; to uses clause</li>
<li>Comment out or delete {$R *.res} or directive</li>
</ol>
<p>Commit changes</p>
<pre>$ git commit -m "Added new directives and changed uses clause." DBDesignerFork.lpr</pre>
<h2>Creating the Resource Files</h2>
<p>Need to create the resource files that will be referenced by the .pas unit files.</p>
<pre>for i in $(find ~/src/dbdesigner-fork/ -name "*.lfm"); do lazres ${i%%.*}.lrs $i; done</pre>
<h2>Editing .pas Unit Files</h2>
<p>For this step I am going to make the following changes (if needed) to the list of files below:</p>
<ol>
<li>Add {$mode delphi}{$H+} or {$mode objfpc}{H+} directives</li>
<li>Add &#8216;LResources&#8217;</li>
<li>Comment out or delete {$R *.dfm} or {$R *.xfm} directive</li>
<li>Add &#8216;Initialization&#8217; section at the end of each unit file, and add {$I unitname.lrs} directive in it </li>
</ol>
<p>DBConnEditor.pas <strong>DONE</strong><br />
DBConnLogin.pas <strong>DONE</strong><br />
DBConnSelect.pas <strong>DONE</strong><br />
DBDM.pas <strong>DONE</strong><br />
DBEERDM.pas <strong>DONE</strong><br />
EditorDatatype.pas <strong>DONE</strong><br />
EditorImage.pas <strong>DONE</strong><br />
EditorNote.pas <strong>DONE</strong><br />
EditorQueryDragTarget.pas <strong>DONE</strong><br />
EditorQuery.pas <strong>DONE</strong><br />
EditorRegion.pas <strong>DONE</strong><br />
EditorRelation.pas <strong>DONE</strong><br />
EditorString.pas <strong>DONE</strong><br />
EditorTableData.pas <strong>DONE</strong><br />
EditorTableFieldDatatypeInplace.pas <strong>DONE</strong><br />
EditorTableFieldParam.pas <strong>DONE</strong><br />
EditorTableField.pas <strong>DONE</strong><br />
EditorTable.pas <strong>DONE</strong><br />
EERDM.pas <strong>DONE</strong><br />
EERExportImportDM.pas <strong>DONE</strong><br />
EERExportSQLScript.pas <strong>DONE</strong><br />
EERModel.pas <strong>DONE</strong><br />
EERModel_XML_ERwin41_Import.pas <strong>DONE</strong><br />
EERModel_XML.pas <strong>DONE</strong><br />
EERPageSetup.pas <strong>DONE</strong><br />
EER.pas <strong>DONE</strong><br />
EERPlaceModel.pas <strong>DONE</strong><br />
EERReverseEngineering.pas <strong>DONE</strong><br />
EERStoreInDatabase.pas <strong>DONE</strong><br />
EERSynchronisation.pas <strong>DONE</strong><br />
GlobalSysFunctions.pas <strong>DONE</strong><br />
GUIDM.pas <strong>DONE</strong><br />
LibXmlParser.pas<br />
MainDM.pas <strong>DONE</strong><br />
Main.pas <strong>DONE</strong><br />
OptionsModel.pas <strong>DONE</strong><br />
Options.pas <strong>DONE</strong><br />
PaletteDatatypes.pas <strong>DONE</strong><br />
PaletteDataTypesReplace.pas <strong>DONE</strong><br />
PaletteModel.pas <strong>DONE</strong><br />
PaletteNav.pas <strong>DONE</strong><br />
PaletteTools.pas <strong>DONE</strong><br />
PrinterSettings.pas <strong>DONE</strong><br />
RegExpr.pas<br />
Splash.pas <strong>DONE</strong><br />
Tips.pas <strong>DONE</strong><br />
ZoomSel.pas <strong>DONE</strong></p>
<p><strong>Now a little cleanup</strong><br />
Change all instances of CLX &#8216;Q&#8217; modules in the uses clause to their respective FPC module names</p>
<pre>
find . -type f -name '*.pas' -not -path './.git' -exec sed -i -e 's/QButtons/Buttons/g' \
-e 's/ Q[tT],//g' \
-e 's/,Q[tT],/,/g' \
-e 's/, Q[tT];/;/g' \
-e 's/QCheckLst/CheckLst/g' \
-e 's/QMask/Mask/g' \
-e 's/QStyle/Style/g' \
-e 's/QMenus/Menus/g' \
-e 's/QForms/Forms/g' \
-e 's/QTypes/Types/g' \
-e 's/QClipbrd/Clipbrd/g' \
-e 's/QStdCtrls/StdCtrls/g' \
-e 's/QExtCtrls/ExtCtrls/g' \
-e 's/QGrids/Grids/g' \
-e 's/QComCtrls/ComCtrls/g' \
-e 's/QPrinters/Printers/g' \
-e 's/QImgList/ImgList/g' \
-e 's/QControls/Controls/g' \
-e 's/QGraphics/Graphics/g' \
-e 's/QDialogs/Dialogs/g' \
-e 's/QDBCtrls/DBCtrls/g' \
-e 's/QConsts/Consts/g' \
-e 's/QFileCtrls/FileCtrls/g' \
-e 's/QDBGrids/DBGrids/g' {} \;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.siliconfuture.net/blog/2010/07/porting-db-designer-fork-to-lazarus-and-the-free-pascal-compiler/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Installing and Configuring Oracle Instant Client 10.2.0.4 on Ubuntu 9.10</title>
		<link>http://www.siliconfuture.net/blog/2010/01/installing-and-configuring-oracle-instant-client-10-2-0-4-on-ubuntu-9-10/</link>
		<comments>http://www.siliconfuture.net/blog/2010/01/installing-and-configuring-oracle-instant-client-10-2-0-4-on-ubuntu-9-10/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 19:12:15 +0000</pubDate>
		<dc:creator>Sam Nelson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.siliconfuture.net/blog/?p=138</guid>
		<description><![CDATA[Lets be blunt about it. The Oracle client can be a real pain to get working sometimes. Following are some basic steps that I used to get a properly working Oracle client installation on Ubuntu 9.10. Helpful Links http://download.oracle.com/docs/cd/B12037_01/java.101/b10979/instclient.htm#sthref1813 Getting the files The Oracle Instant Client main page is here. You will need to register [...]]]></description>
			<content:encoded><![CDATA[<p>Lets be blunt about it.  The Oracle client can be a real pain to get working sometimes.  Following are some basic steps that I used to get a properly working Oracle client installation on Ubuntu 9.10.</p>
<p><H2>Helpful Links</H2><br />
<a href="http://download.oracle.com/docs/cd/B12037_01/java.101/b10979/instclient.htm#sthref1813">http://download.oracle.com/docs/cd/B12037_01/java.101/b10979/instclient.htm#sthref1813</a></p>
<p><H2>Getting the files</H2><br />
The Oracle Instant Client main page is <a href="http://www.oracle.com/technology/tech/oci/instantclient/index.html">here</a>.  You will need to register (free account) with Oracle to access their free downloads. After you&#8217;ve registered, you can grab the following files from Oracle (10.2.0.4 is the current version as of the writing of this article).  You may not need all of these, but I wanted to make sure that I had a complete installation of the client software.<br />
<a href="http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-basic-10.2.0.4-1.i386.rpm">oracle-instantclient-basic-10.2.0.4-1.i386.rpm</a><br />
<a href="http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm">oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm</a><br />
<a href="http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-devel-10.2.0.4-1.i386.rpm">oracle-instantclient-devel-10.2.0.4-1.i386.rpm</a><br />
<a href="http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-jdbc-10.2.0.4-1.i386.rpm">oracle-instantclient-jdbc-10.2.0.4-1.i386.rpm</a><br />
<a href="http://download.oracle.com/otn/linux/instantclient/10204/oracle-instantclient-jdbc-10.2.0.4-1.i386.rpm">oracle-instantclient-odbc-10.2.0.4-1.i386.rpm</a></p>
<p>Lets debianize the rpm&#8217;s</p>
<pre>$ apt-get install alien rpm
$ sudo alien oracle-instantclient-basic-10.2.0.4-1.i386.rpm
$ sudo alien oracle-instantclient-devel-10.2.0.4-1.i386.rpm
$ sudo alien oracle-instantclient-sqlplus-10.2.0.4-1.i386.rpm
$ sudo alien oracle-instantclient-jdbc-10.2.0.4-1.i386.rpm
$ sudo alien oracle-instantclient-odbc-10.2.0.4-1.i386.rpm</pre>
<p>Unfortunately the oracle-instantclient-basic rpm has a deprecated libstdc++.so.5 dependency, see this <a href="https://twiki.cern.ch/twiki/bin/view/LCG/FtsKnownIssues21#Oracle_instantclient_libstdc_dep">link</a> for an excellent explanation of the issue and a solution.</p>
<p>To fix this issue, we need to additionally download the following file (32bit version, other versions are listed <a href="http://www.oracle.com/technology/tech/oci/occi/occidownloads.html">here</a>):<br />
<a href="http://www.oracle.com/technology/tech/oci/occi/downloads/occi_gcc343_102030.tar.gz">http://www.oracle.com/technology/tech/oci/occi/downloads/occi_gcc343_102030.tar.gz</a></p>
<p><H2>Repackaging the Instant Client Basic package</H2><br />
<em>NOTE: if you are in a hurry, you can skip all of these repackaging steps and just install the deb&#8217;s as-is.  Once they are installed, then copy the contents of the occi_gcc343_102030.tar.gz file to the $ORACLE_HOME/client/lib directory</em></p>
<p>Unpack the oracle-instantclient-basic package to a temporary directory to correct the libocci dependency</p>
<p>Extract the package data files</p>
<pre>$ dpkg-deb -x oracle-instantclient-basic_10.2.0.4-2_i386.deb \
    tmp/oracle-instantclient-basic_10.2.0.4-2_i386</pre>
<p>Extract the package control files</p>
<pre>$ dpkg-deb -e oracle-instantclient-basic_10.2.0.4-2_i386.deb \
    tmp/oracle-instantclient-basic_10.2.0.4-2_i386/DEBIAN</pre>
<p>Extract the new OCCI library and overwrite the deprecated files extracted from the package</p>
<pre>$ tar -zxvf occi_gcc343_102030.tar.gz
$ mv libocci.so.10.1 libocci10.a \
    tmp/oracle-instantclient-basic_10.2.0.4-2_i386/usr/lib/oracle/10.2.0.4/client/lib/</pre>
<p>Update the debian control files (Only really need to change the md5sums file)</p>
<pre>$ cd tmp/oracle-instantclient-basic_10.2.0.4-2_i386
$ find usr/ -type f | xargs md5sum &gt; DEBIAN/md5sums</pre>
<p>Remove the old package in main directory, change ownership of package files to root and rebuild the debian package file</p>
<pre>$ rm oracle-instantclient-basic_10.2.0.4-2_i386.deb
$ sudo chown -R root:root tmp/oracle-instantclient-basic_10.2.0.4-2_i386
$ dpkg-deb -b tmp/oracle-instantclient-basic_10.2.0.4-2_i386/ \
    oracle-instantclient-basic_10.2.0.4-2_i386.deb</pre>
<p><H2> Installing and Configuring</H2></p>
<p>Now we can finally install the packages!</p>
<pre>
$ sudo dpkg -i oracle-instantclient-*
</pre>
<p>At this point you&#8217;ll probably want to set up some additional configuration details.</p>
<ul>
<li>Set ORACLE_HOME in your .bashrc, or on the command line, following are all the variables I set
<pre>
export ORACLE_HOME=/usr/lib/oracle/10.2.0.4/client
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
</pre>
</li>
<li>If you have a tnsnames.ora file (make sure the filename is all lowercase), you can install it as well
<pre>
$ sudo mkdir -p $ORACLE_HOME/network/admin
$ sudo cp tnsnames.ora $ORACLE_HOME/network/admin
</pre>
</li>
</ul>
<p>You can now test your Oracle client installation by connecting to a database with sqlplus (By the way, putting the password in the command line is not recommended as it can easily be pulled out of your history file by other nosy users if your permissions are too lax).</p>
<pre>
$ sqlplus 'username/password@SID'
</pre>
<p>If for some reason you have some trouble connecting, you can create a sqlnet.ora file under $ORACLE_HOME with some tracing options.</p>
<pre>
$ sudo vi $ORACLE_HOME/network/admin/sqlnet.ora

TRACE_DIRECTORY_CLIENT=/tmp
TRACE_LEVEL_CLIENT=SUPPORT
</pre>
<p>The next time the Oracle Instant Client is used, it will create a detailed log file under /tmp like the following: cli_1968.trc.  Make sure to turn this option off when you are done as the logfile can get quite large!</p>
<p>That&#8217;s about it, any questions or suggestions, please post them!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.siliconfuture.net/blog/2010/01/installing-and-configuring-oracle-instant-client-10-2-0-4-on-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Setting Up Syntax Highlighting in WordPress</title>
		<link>http://www.siliconfuture.net/blog/2010/01/setting-up-syntax-highlighting-in-wordpress/</link>
		<comments>http://www.siliconfuture.net/blog/2010/01/setting-up-syntax-highlighting-in-wordpress/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 09:00:27 +0000</pubDate>
		<dc:creator>Sam Nelson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.siliconfuture.net/blog/?p=87</guid>
		<description><![CDATA[I have seen some very well written blogs out on the interwebs which include clean and well highlighted example code inline with the rest of the document. Turns out it is really easy to implement in WordPress. I browsed around and found a nice comparison of different syntax highlighting tools and settled on the Google [...]]]></description>
			<content:encoded><![CDATA[<p>I have seen some very well written blogs out on the interwebs which include clean and well highlighted example code inline with the rest of the document.  Turns out it is really easy to implement in WordPress.  I browsed around and found a nice comparison of different syntax highlighting tools and settled on the Google Syntax Highlighter.  Here is the comparison <a href="http://speckyboy.com/2009/02/19/12-wordpress-plugins-to-display-and-highlight-code-within-your-blog/">review</a>.</p>
<h2>Getting the Code</h2>
<p>You can get the latest version as a WordPress plugin either by searching for &#8220;Syntax Highlighter&#8221; in the plugins admin page for WordPress, or you can download from the WordPress <a href="http://wordpress.org/extend/plugins/syntax-highlighter-and-code-prettifier/">site</a>.</p>
<h2>Usage</h2>
<p>Just surround your code like this:</p>
<pre class="brush:html">&lt;pre class="brush:[code-alias]"&gt; …Your Code Here &lt;/pre&gt;</pre>
<p>replace the "[code-alias]" segment with the type of code you have. See all the available <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter:Brushes">brush aliases</a> at the plugin author's website. For Example, PHP would be like this:</p>
<pre class="brush:html">&lt;pre class="brush:php"&gt; …Your PHP Code Here &lt;/pre&gt;</pre>
<h2>Examples</h2>
<p>SQL</p>
<pre class="brush:sql">SELECT count(1)
FROM some_table
WHERE some_field = 'some value';</pre>
<p>C</p>
<pre class="brush:c">
#include 

main()
{
    printf("hello, world\n");
}
</pre>
<p>Python</p>
<pre class="brush:python">
#!/usr/bin/python

print 'Hello World!'
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.siliconfuture.net/blog/2010/01/setting-up-syntax-highlighting-in-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing the touchpad on the Eeepc 1000HE in Linux</title>
		<link>http://www.siliconfuture.net/blog/2009/03/fixing-the-touchpad-on-the-eeepc-1000he-in-linux/</link>
		<comments>http://www.siliconfuture.net/blog/2009/03/fixing-the-touchpad-on-the-eeepc-1000he-in-linux/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 20:14:05 +0000</pubDate>
		<dc:creator>Sam Nelson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[1000he]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.siliconfuture.net/blog/?p=3</guid>
		<description><![CDATA[The default configuration under eeebuntu 2.0 works pretty well but there are a couple glitches that are annoying. For one the multi-touch scroll is very jumpy and sensitive. Here is a launchpad bug describing the driver problems in Intrepid with the Elantech toucpad. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/123775 See also this link for configuring the touchpad via gsynaptics. https://help.ubuntu.com/community/SynapticsTouchpad#Enabling [...]]]></description>
			<content:encoded><![CDATA[<p>The default configuration under eeebuntu 2.0 works pretty well but there are a couple glitches that are annoying.  For one the multi-touch scroll is very jumpy and sensitive.</p>
<p>Here is a launchpad bug describing the driver problems in Intrepid with the Elantech toucpad.</p>
<p><a href="http://bugs.launchpad.net/ubuntu/+source/linux/+bug/123775">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/123775</a></p>
<p>See also this link for configuring the touchpad via gsynaptics.</p>
<p><a href="https://help.ubuntu.com/community/SynapticsTouchpad#Enabling SHMConfig">https://help.ubuntu.com/community/SynapticsTouchpad#Enabling SHMConfig</a></p>
<p>This was all discussed in a great post under the above launchpad bug</p>
<p><a href="http://bugs.launchpad.net/ubuntu/+source/linux/+bug/123775/comments/84">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/123775/comments/84</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.siliconfuture.net/blog/2009/03/fixing-the-touchpad-on-the-eeepc-1000he-in-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

