<?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>Well, at least we got the duck. &#187; Programming</title>
	<atom:link href="http://ingol.nl/blog/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://ingol.nl/blog</link>
	<description></description>
	<lastBuildDate>Wed, 14 Jul 2010 23:01:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>jQuery UI Day-Calendar Widget</title>
		<link>http://ingol.nl/blog/2010/06/09/jquery-ui-day-calendar-widget/</link>
		<comments>http://ingol.nl/blog/2010/06/09/jquery-ui-day-calendar-widget/#comments</comments>
		<pubDate>Wed, 09 Jun 2010 10:50:54 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[calendar]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=463</guid>
		<description><![CDATA[I&#8217;m working on a generic calendar widget for event scheduling. It&#8217;s my first jQuery UI widget experience which I really like thus far. The calendar widget itself is a sort of complete re-implementation of the jQuery-Week-Calendar made by Rob Monie. However the week-calendar widget was end-of-life and no longer maintained.
A repository has been setup at [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a generic calendar widget for event scheduling. It&#8217;s my first jQuery UI widget experience which I really like thus far. The calendar widget itself is a sort of complete re-implementation of the jQuery-Week-Calendar made by Rob Monie. However the week-calendar widget was end-of-life and no longer maintained.</p>
<p>A repository has been setup at Bitbucket: <a target="_blank" href="http://bitbucket.org/orlissenberg/jquery-day-calendar">jQuery Day Calendar</a></p>
<p>Specs:<br />
- Drag and drop events (which contains various resources).<br />
- Slot-based event containers of variable length (variable event length).<br />
- Both calendar and event components are jQuery UI Widget based.<br />
- Supports the jQuery Theme Roller.<br />
- Support all major browsers.<br />
- Very reusable, should not be a one-trick-pony.<br />
- Using multiple day-calendars would create something similar to the jQuery-Week-Calendar (maybe make another composite UI widget for it even).</p>
<p><a target="_blank" href="http://picasaweb.google.com/lh/photo/takhRbdyNg0YMwSBRUlGTg?feat=embedwebsite"><img src="http://lh6.ggpht.com/_k1lmMufch6s/TB_cXeSxo9I/AAAAAAAAF48/mZA0Nz2VBJM/s400/jquery.calendar.daycalendar.jpg" /></a></p>
<p><a href="http://ingol.nl/projects/daycalendar/jquery.calendar.daycalendar.sandbox.html" target="_blank" style="font-size:20px;font-weight: bold;">DEMO</a></p>
<p><a href="http://plugins.jquery.com/project/Day-Calendar" target="_blank">jQuery Plugins Day Calendar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2010/06/09/jquery-ui-day-calendar-widget/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TIP: Get rid of &#8220;It is not safe to rely on the system&#8217;s timezone settings.&#8221;</title>
		<link>http://ingol.nl/blog/2010/04/08/tip-get-rid-of-it-is-not-safe-to-rely-on-the-systems-timezone-settings/</link>
		<comments>http://ingol.nl/blog/2010/04/08/tip-get-rid-of-it-is-not-safe-to-rely-on-the-systems-timezone-settings/#comments</comments>
		<pubDate>Thu, 08 Apr 2010 10:44:22 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[timezone]]></category>
		<category><![CDATA[warning]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=370</guid>
		<description><![CDATA[Warning: strtotime() [function.strtotime]: It is not safe to rely on the system&#8217;s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.
; Copy this line into the php.ini
; http://php.net/manual/en/timezones.php
date.timezone [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Warning: strtotime() [function.strtotime]: It is not safe to rely on the system&#8217;s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.</p></blockquote>
<p>; Copy this line into the php.ini<br />
; http://php.net/manual/en/timezones.php<br />
date.timezone = &#8220;Europe/Amsterdam&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2010/04/08/tip-get-rid-of-it-is-not-safe-to-rely-on-the-systems-timezone-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Tip: Ignoring case and diacritic differences in an Oracle search.</title>
		<link>http://ingol.nl/blog/2010/02/01/oracle-tip-ignoring-case-and-diacritic-differences-in-an-oracle-search/</link>
		<comments>http://ingol.nl/blog/2010/02/01/oracle-tip-ignoring-case-and-diacritic-differences-in-an-oracle-search/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 14:56:26 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[diacritic]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[pl/sql]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=348</guid>
		<description><![CDATA[http://forums.oracle.com/forums/thread.jspa?threadID=14970
Instead of using the SQL UPPER and LOWER functions to perform case-insensitive queries, an alternative approach is to utilize the linguistic sort GENERIC_BASELETTER. GENERIC_BASELETTER groups all characters together based on their base letter values, this is achieved by ignoring their case and the diacritic differences.
Here is an example of a GENERIC_BASELETTER query.

ALTER SESSION SET NLS_COMP=ANSI;
ALTER [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://forums.oracle.com/forums/thread.jspa?threadID=14970">http://forums.oracle.com/forums/thread.jspa?threadID=14970</a></p>
<blockquote><p>Instead of using the SQL UPPER and LOWER functions to perform case-insensitive queries, an alternative approach is to utilize the linguistic sort GENERIC_BASELETTER. GENERIC_BASELETTER groups all characters together based on their base letter values, this is achieved by ignoring their case and the diacritic differences.<br />
Here is an example of a GENERIC_BASELETTER query.</p></blockquote>
<pre class="brush: plain;">
ALTER SESSION SET NLS_COMP=ANSI;
ALTER SESSION SET NLS_SORT=GENERIC_BASELETTER;

SELECT * FROM PRODUCT
WHERE PRODUCT_NAME = database;
</pre>
<blockquote><p>All other operators, such as LIKE, perform comparisons in binary mode only. i.e. they do not honor the NLS_SORT value. This has now been be enhanced in 10gR2.</p></blockquote>
<p>See also:<br />
Diacritics in like clause, Globalization support<br />
<a href="http://dbaforums.org/oracle/index.php?showtopic=915">http://dbaforums.org/oracle/index.php?showtopic=915</a></p>
<p>Diacritics<br />
<a href="http://en.wikipedia.org/wiki/Diacritic">http://en.wikipedia.org/wiki/Diacritic</a></p>
<p>Oracle® Database Globalization Support Guide<br />
<a href="http://download.oracle.com/docs/cd/B14117_01/server.101/b10749/ch5lingsort.htm#i1006463">http://download.oracle.com/docs/cd/B14117_01/server.101/b10749/ch5lingsort.htm#i1006463</a></p>
<p>Oracle NLS_LOWER<br />
<a href="http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions098.htm#i78373">http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions098.htm#i78373</a></p>
<p>Oracle Replace<br />
<a href="http://www.psoug.org/reference/translate_replace.html">http://www.psoug.org/reference/translate_replace.html</a></p>
<pre class="brush: plain;">
SELECT translate('árvíztűrőtükörfúrógép','áéíóöőúüű','aeiooouuu') without FROM dual
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2010/02/01/oracle-tip-ignoring-case-and-diacritic-differences-in-an-oracle-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>To GUID or not to GUID, on Oracle &#8230;</title>
		<link>http://ingol.nl/blog/2009/11/30/to-guid-or-not-to-guid-on-oracle/</link>
		<comments>http://ingol.nl/blog/2009/11/30/to-guid-or-not-to-guid-on-oracle/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 10:43:03 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=292</guid>
		<description><![CDATA[I keep running into that issue when I design a database, this time around it&#8217;s an Oracle schema, thus I need fresh input on GUIDs and Oracle. It&#8217;s basically the old story, if distribution and replication is a serious feature, a GUID would be very welcome. We could also create a hybrid monster, take a [...]]]></description>
			<content:encoded><![CDATA[<p>I keep running into that issue when I design a database, this time around it&#8217;s an Oracle schema, thus I need fresh input on GUIDs and Oracle. It&#8217;s basically the old story, if distribution and replication is a serious feature, a GUID would be very welcome. We could also create a hybrid monster, take a numeric primary key and supplement a GUID field for distribution purposes, sure it takes up additional space &#8230;</p>
<p><strong>Arguments for the use of GUIDs</strong></p>
<p>- Makes distribution and replication a lot easier.<br />
- ID&#8217;s can be created in the application, thus no ID would need to fetched from a DB insert.<br />
- Creating ID&#8217;s on the &#8220;client&#8221; side enables working &#8220;offline&#8221;.<br />
- Enabled (dirty?) cross-table references, e.g. a table which contains website url&#8217;s could contain a generic &#8220;ID&#8221; column which contains id&#8217;s from the &#8220;books&#8221; table or &#8220;articles&#8221; table. This also applies for class models ofcourse.<br />
- Security (by obscurity) in urls.<br />
- don&#8217;t have to create those (annoying) sequences with triggers in Oracle :)</p>
<p><strong>Arguments against the use of GUIDs</strong></p>
<p>- Performance (will depend on which database, e.g. Oracle also has sequential GUIDs and MS-Sql has a native guid type).<br />
- Universally small chance that it&#8217;s not unique.<br />
- Looks ugly (heard that a LOT)<br />
- It has a Microsoft feel to it :)</p>
<p>Well, Google also supplies some nice information about the performance, reasons to use (or not) and options:</p>
<p>[1] <a href="http://stackoverflow.com/questions/153815/how-should-i-store-a-guid-in-oracle">How should I store a Guid in Oracle</a><br />
[2] <a href="http://preferisco.blogspot.com/2007/02/unique-ids-for-multi-master-replication.html">Unique IDs for multi-master replication &#8211; Sequence or SYS_GUID?</a><br />
[3] <a href="http://feuerthoughts.blogspot.com/2006/02/watch-out-for-sequential-oracle-guids.html">Watch out for sequential Oracle GUIDs!<br />
</a>[4] <a href="http://originalwhatever.blogspot.com/2006/08/uuids-as-primary-keys.html">UUIDs as primary keys</a></p>
<p>- Probable performance loss of 40% when using a CHAR / RAW(16) instead of an integer. [1] (Searching is faster in CHAR as all the strings are stored at a specified position from the each other, the system doesnot have to search for the end of string, thus CHAR instead of VARCHAR2, plus the length of a GUID is fixed anyway)<br />
Whereas in VARCHAR the system has to first find the end of string and then go for searching.<br />
- SYS_GUID is sequential because random GUIDs play hell with indexes. SQL Server has a sequential GUID generator as well for the same reason.<br />
- On SQL Server, the base datatype of a Guid is actually a binary(16) (equivalent to Raw(16) on Oracle). But when the Guid value is marshalled into the binary, the bytes are re-ordered!<br />
- You can uses sys_guid() as a default column so that it is automatically populated. CREATE TABLE guid_table (pky RAW(16) default sys_guid() PRIMARY KEY, NAME VARCHAR2(100));<br />
- Using UUIDs in URLs is more secure. [4]<br />
- A nice function to format the SYS_GUID() [3] :</p>
<pre class="brush: sql;">
CREATE OR REPLACE FUNCTION GET_FORMATTED_GUID RETURN VARCHAR2 IS guid VARCHAR2(38) ;
BEGIN
SELECT SYS_GUID() INTO guid FROM DUAL ;

guid :=
'{' || SUBSTR(guid,  1, 8) ||
'-' || SUBSTR(guid,  9, 4) ||
'-' || SUBSTR(guid, 13, 4) ||
'-' || SUBSTR(guid, 17, 4) ||
'-' || SUBSTR(guid, 21) || '}' ;

RETURN guid ;
END GET_FORMATTED_GUID ;
/
</pre>
<pre class="brush: sql;">
/*
CREATE TABLE &quot;TEST_GUID_FORMATTED&quot;
(  &quot;GUID_FORMATTED&quot; CHAR(36),
&quot;NAME&quot; NVARCHAR2(50),
CONSTRAINT &quot;PK_GUID_FORMATTED&quot; PRIMARY KEY (&quot;GUID_FORMATTED&quot;
)&lt;/code&gt;

truncate table test_guid_formatted;
commit;
*/

declare
stopwatch date;
begin
stopwatch := sysdate;
for counter in 1..1000000 loop
insert into test_guid_formatted (guid_formatted, name)
values (get_formatted_guid, 'test: ' || to_char(counter));
end loop;
dbms_output.put_line(to_char(sysdate - stopwatch));
commit;
end;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/11/30/to-guid-or-not-to-guid-on-oracle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oracle Tip: The decimal marker to a dot, and the thousands marker to a comma in to_number().</title>
		<link>http://ingol.nl/blog/2009/11/17/oracle-tip-the-decimal-marker-to-a-dot-and-the-thousands-marker-to-a-comma-in-to_number/</link>
		<comments>http://ingol.nl/blog/2009/11/17/oracle-tip-the-decimal-marker-to-a-dot-and-the-thousands-marker-to-a-comma-in-to_number/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 13:39:11 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=290</guid>
		<description><![CDATA[
to_number(t.yournumbercolumn,'9G999G999D99','NLS_NUMERIC_CHARACTERS='',.''')

See also:
Oracle NLS_NUMERIC_CHARACTERS
http://download.oracle.com/docs/cd/B28359_01/olap.111/b28126/dml_options072.htm
]]></description>
			<content:encoded><![CDATA[<pre class="brush: sql;">
to_number(t.yournumbercolumn,'9G999G999D99','NLS_NUMERIC_CHARACTERS='',.''')
</pre>
<p>See also:</p>
<p>Oracle NLS_NUMERIC_CHARACTERS<br />
<a href="http://download.oracle.com/docs/cd/B28359_01/olap.111/b28126/dml_options072.htm">http://download.oracle.com/docs/cd/B28359_01/olap.111/b28126/dml_options072.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/11/17/oracle-tip-the-decimal-marker-to-a-dot-and-the-thousands-marker-to-a-comma-in-to_number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a custom Oracle aggregate function that accepts multiple parameters through parameter encapsulation!</title>
		<link>http://ingol.nl/blog/2009/11/04/custom-oracle-aggregate-function-with-parameter-encapsulation/</link>
		<comments>http://ingol.nl/blog/2009/11/04/custom-oracle-aggregate-function-with-parameter-encapsulation/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 14:39:13 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=280</guid>
		<description><![CDATA[Why would you want a feature like this?
Scenarios:
- You want to group by but treat a specific value to overrule no matter what else is specified it would look like:
select id, strpref(string_prefered_pars_type(status, status, &#8216;active&#8217;)) from tablename group by id;
(prefer the &#8216;active&#8217; value above all else) 
- The value has a dependency on another column which [...]]]></description>
			<content:encoded><![CDATA[<p>Why would you want a feature like this?</p>
<p>Scenarios:<br />
- You want to group by but treat a specific value to overrule no matter what else is specified it would look like:</p>
<blockquote><p>select id, strpref(string_prefered_pars_type(status, status, &#8216;active&#8217;)) from tablename group by id;<br />
<em>(prefer the &#8216;active&#8217; value above all else) </em></p></blockquote>
<p>- The value has a dependency on another column which looks like:</p>
<blockquote><p>select id, strpref(string_prefered_pars_type(return_column, pref_dependency_column, &#8216;active&#8217;)) from tablename group by id;<br />
<em> (prefer the value from a record which has its pref_dependency_column set to &#8216;active&#8217;)</em></p></blockquote>
<p>Naturally with some code changes it enables all kind of fun aggregation features!</p>
<p><span style="background-color: #ffffff;">Everything below the line is Oracle PL/SQL example code which demonstrates how a custom aggregate function can be created which accepts multiple parameters by encapsulating the parameters in a custom type.</span></p>
<pre class="brush: sql;">
/*
quote:
There is no support for writing custom aggregate functions that accept multiple parameters.

source:
Build Custom Aggregate Functions
By Jonathan Gennick

http://www.oracle.com/technology/oramag/oracle/06-jul/o46sql.html

This example uses a custom type to use a custom aggregate function that accepts multiple parameters through parameter encapsulation!

more references:

Oracle® Database Data Cartridge Developer's Guide, 10g Release 2 (10.2)
11 User-Defined Aggregate Functions

http://download.oracle.com/docs/cd/B10501_01/appdev.920/a96595/dci11agg.htm

*/

create or replace type STRING_PREFERED_PARS_TYPE as object
(
-- Author  : O. Lissenberg
-- Created : 4-11-2009
-- Purpose : Passes parameters to the STRING_PREFERED_TYPE's ODCIAggregateIterate function

-- Attributes
strvalue varchar2(100),
pref varchar2(10),
prefvalue varchar2(10)

-- Member functions and procedures
-- N.a.
)
/
create or replace type string_prefered_type as object
(
retvalue varchar2(4000),

static function ODCIAggregateInitialize(sctx IN OUT string_prefered_type) return number,
member function ODCIAggregateIterate(self IN OUT string_prefered_type, value IN STRING_PREFERED_PARS_TYPE) return number,
member function ODCIAggregateTerminate(self IN string_prefered_type, returnValue OUT varchar2, flags IN number) return number,
member function ODCIAggregateMerge(self IN OUT string_prefered_type, ctx2 IN string_prefered_type) return number
);
/
create or replace type body string_prefered_type is
static function ODCIAggregateInitialize(sctx IN OUT string_prefered_type)
return number is
begin
sctx := string_prefered_type(null);
return ODCIConst.Success;
end;

member function ODCIAggregateIterate(self IN OUT string_prefered_type, value IN STRING_PREFERED_PARS_TYPE)
return number is
begin

IF self.retvalue is null THEN
self.retvalue := value.strvalue;
ELSIF value.pref is not null AND lower(value.pref) = lower(value.prefvalue) THEN
-- only change the return value if the prefered value is found
-- hence otherwise the behavior is &quot;the first non null value is accepted and does not change&quot;, which
-- might be nice to change into a max() or min() feature.
self.retvalue := value.strvalue;
END IF;

return ODCIConst.Success;
end;

member function ODCIAggregateTerminate(self IN string_prefered_type, returnValue OUT varchar2, flags IN number)
return number is
begin
-- just return the set value.
returnValue := self.retvalue;
return ODCIConst.Success;
end;

member function ODCIAggregateMerge(self IN OUT string_prefered_type, ctx2 IN string_prefered_type)
return number is
begin
-- this might prove to be difficult, it's easier to disable PARALLEL execution
-- to enable though, a state needs to be added to enable the merge, the state
-- would flag if the current or other context value was set with a &quot;prefered&quot; value.

return ODCIConst.Success;
end;
end;
/
CREATE or replace
FUNCTION strpref(input STRING_PREFERED_PARS_TYPE)
RETURN varchar2
AGGREGATE USING string_prefered_type;
-- PARALLEL_ENABLE (to enable: implement the merge function)
/
select t.id ,strpref(STRING_PREFERED_PARS_TYPE(t.name, t.pref, 'pickme'))
from testgroupby t group by t.id;

/*
CREATE TABLE &quot;TESTGROUPBY&quot;
(  &quot;ID&quot; NUMBER,
&quot;NAME&quot; NVARCHAR2(10),
&quot;PREF&quot; NVARCHAR2(10) );

insert into TESTGROUPBY (id,name,pref) values (1,'test1','ignoreme');
insert into TESTGROUPBY (id,name,pref) values (1,'test2','pickme');
insert into TESTGROUPBY (id,name,pref) values (1,'test3','ignoreme');
insert into TESTGROUPBY (id,name,pref) values (2,'test4','pickme');
insert into TESTGROUPBY (id,name,pref) values (2,'test5','pickme');
insert into TESTGROUPBY (id,name,pref) values (2,'test6','ignoreme');

select t.id ,strpref(STRING_PREFERED_PARS_TYPE(t.name, t.pref, 'pickme'))
from testgroupby t group by t.id;

drop table TESTGROUPBY;
*/
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/11/04/custom-oracle-aggregate-function-with-parameter-encapsulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery Plugin Tip : LiveQuery!</title>
		<link>http://ingol.nl/blog/2009/09/25/jquery-plugin-tip-livequery/</link>
		<comments>http://ingol.nl/blog/2009/09/25/jquery-plugin-tip-livequery/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 08:57:06 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=226</guid>
		<description><![CDATA[http://docs.jquery.com/Plugins/livequery
Code examples will follow shortly ;-D
]]></description>
			<content:encoded><![CDATA[<p><a href="http://docs.jquery.com/Plugins/livequery">http://docs.jquery.com/Plugins/livequery</a></p>
<p>Code examples will follow shortly ;-D</p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/09/25/jquery-plugin-tip-livequery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fetch Oracle NLS Settings, Install Oracle Full Client in Zend Server.</title>
		<link>http://ingol.nl/blog/2009/09/21/fetch-oracle-nls-settings/</link>
		<comments>http://ingol.nl/blog/2009/09/21/fetch-oracle-nls-settings/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 08:07:49 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=146</guid>
		<description><![CDATA[Note that these results were not the ones I&#8217;d hoped for, the result was the installation of the full Oracle Instant client in PHP instead of the light version.
SELECT * FROM NLS_DATABASE_PARAMETERS;




PARAMETER
VALUE


1
NLS_LANGUAGE
AMERICAN


2
NLS_TERRITORY
AMERICA


3
NLS_CURRENCY
$


4
NLS_ISO_CURRENCY
AMERICA


5
NLS_NUMERIC_CHARACTERS
.,


6
NLS_CHARACTERSET
WE8ISO8859P1


7
NLS_CALENDAR
GREGORIAN


8
NLS_DATE_FORMAT
DD-MON-RR


9
NLS_DATE_LANGUAGE
AMERICAN


10
NLS_SORT
BINARY


11
NLS_TIME_FORMAT
HH.MI.SSXFF AM


12
NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM


13
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR


14
NLS_TIMESTAMP_TZ_FORMAT
DD-MON-RR HH.MI.SSXFF AM TZR


15
NLS_DUAL_CURRENCY
$


16
NLS_COMP
BINARY


17
NLS_LENGTH_SEMANTICS
BYTE


18
NLS_NCHAR_CONV_EXCP
FALSE


19
NLS_NCHAR_CHARACTERSET
AL16UTF16


20
NLS_RDBMS_VERSION
9.2.0.7.0



To replace the light with the full client in Zend Server, put the &#8220;oraociei11.dll&#8221; (full) into [...]]]></description>
			<content:encoded><![CDATA[<p>Note that these results were not the ones I&#8217;d hoped for, the result was the installation of the full Oracle Instant client in PHP instead of the light version.</p>
<p><span style="background-color: #ffffff;">SELECT * FROM NLS_DATABASE_PARAMETERS;</span></p>
<table border="0">
<tbody>
<tr height="20">
<td width="21" height="20"></td>
<td width="195">PARAMETER</td>
<td width="218">VALUE</td>
</tr>
<tr height="20">
<td height="20">1</td>
<td>NLS_LANGUAGE</td>
<td>AMERICAN</td>
</tr>
<tr height="20">
<td height="20">2</td>
<td>NLS_TERRITORY</td>
<td>AMERICA</td>
</tr>
<tr height="20">
<td height="20">3</td>
<td>NLS_CURRENCY</td>
<td>$</td>
</tr>
<tr height="20">
<td height="20">4</td>
<td>NLS_ISO_CURRENCY</td>
<td>AMERICA</td>
</tr>
<tr height="20">
<td height="20">5</td>
<td>NLS_NUMERIC_CHARACTERS</td>
<td>.,</td>
</tr>
<tr height="20">
<td height="20">6</td>
<td>NLS_CHARACTERSET</td>
<td>WE8ISO8859P1</td>
</tr>
<tr height="20">
<td height="20">7</td>
<td>NLS_CALENDAR</td>
<td>GREGORIAN</td>
</tr>
<tr height="20">
<td height="20">8</td>
<td>NLS_DATE_FORMAT</td>
<td>DD-MON-RR</td>
</tr>
<tr height="20">
<td height="20">9</td>
<td>NLS_DATE_LANGUAGE</td>
<td>AMERICAN</td>
</tr>
<tr height="20">
<td height="20">10</td>
<td>NLS_SORT</td>
<td>BINARY</td>
</tr>
<tr height="20">
<td height="20">11</td>
<td>NLS_TIME_FORMAT</td>
<td>HH.MI.SSXFF AM</td>
</tr>
<tr height="20">
<td height="20">12</td>
<td>NLS_TIMESTAMP_FORMAT</td>
<td>DD-MON-RR HH.MI.SSXFF AM</td>
</tr>
<tr height="20">
<td height="20">13</td>
<td>NLS_TIME_TZ_FORMAT</td>
<td>HH.MI.SSXFF AM TZR</td>
</tr>
<tr height="20">
<td height="20">14</td>
<td>NLS_TIMESTAMP_TZ_FORMAT</td>
<td>DD-MON-RR HH.MI.SSXFF AM TZR</td>
</tr>
<tr height="20">
<td height="20">15</td>
<td>NLS_DUAL_CURRENCY</td>
<td>$</td>
</tr>
<tr height="20">
<td height="20">16</td>
<td>NLS_COMP</td>
<td>BINARY</td>
</tr>
<tr height="20">
<td height="20">17</td>
<td>NLS_LENGTH_SEMANTICS</td>
<td>BYTE</td>
</tr>
<tr height="20">
<td height="20">18</td>
<td>NLS_NCHAR_CONV_EXCP</td>
<td>FALSE</td>
</tr>
<tr height="20">
<td height="20">19</td>
<td>NLS_NCHAR_CHARACTERSET</td>
<td>AL16UTF16</td>
</tr>
<tr height="20">
<td height="20">20</td>
<td>NLS_RDBMS_VERSION</td>
<td>9.2.0.7.0</td>
</tr>
</tbody>
</table>
<p>To replace the light with the full client in Zend Server, put the &#8220;oraociei11.dll&#8221; (full) into the __ZendServerInstallPath__\ZendServer\bin directory and remove or rename the &#8220;oraociicus11.dll&#8221; (light). These libraries can be found in oracle client installation.</p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/09/21/fetch-oracle-nls-settings/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Zend Code Generator on Google Code</title>
		<link>http://ingol.nl/blog/2009/09/17/zend-code-generator-on-google-code/</link>
		<comments>http://ingol.nl/blog/2009/09/17/zend-code-generator-on-google-code/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 18:00:27 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[codegeneration]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=3</guid>
		<description><![CDATA[I started a project to create a zend code generator. It&#8217;s a pretty basic 3 layer model that it generates right now, tests included. Take a look at http://code.google.com/p/zend-code-generator/
]]></description>
			<content:encoded><![CDATA[<p>I started a project to create a zend code generator. It&#8217;s a pretty basic 3 layer model that it generates right now, tests included. Take a look at http://code.google.com/p/zend-code-generator/</p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/09/17/zend-code-generator-on-google-code/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Quick and Dirty RegEx Tester in Zend Framework.</title>
		<link>http://ingol.nl/blog/2009/08/19/quick-and-dirty-regex-tester-in-zend-framework/</link>
		<comments>http://ingol.nl/blog/2009/08/19/quick-and-dirty-regex-tester-in-zend-framework/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 11:36:56 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=209</guid>
		<description><![CDATA[1 public function indexAction()
2      {
3           Zend_Layout::startMvc();
4           self::getFrontController ()-&#62;setParam ( &#8220;noViewRenderer&#8221;, true );
5
6           $subject = $this-&#62;_getParam(&#8220;subject&#8221;,&#8221;");
7      [...]]]></description>
			<content:encoded><![CDATA[<p>1 public function indexAction()<br />
2      {<br />
3           Zend_Layout::startMvc();<br />
4           self::getFrontController ()-&gt;setParam ( &#8220;noViewRenderer&#8221;, true );<br />
5<br />
6           $subject = $this-&gt;_getParam(&#8220;subject&#8221;,&#8221;");<br />
7           $pattern = $this-&gt;_getParam(&#8220;pattern&#8221;,&#8221;//&#8221;);<br />
8           $result = preg_match_all($pattern, $subject, $matches);<br />
9<br />
10           $form = new Zend_Form();<br />
11           $subjectElement = new Zend_Form_Element_Text(&#8220;subject&#8221;);<br />
12           $subjectElement-&gt;setValue($subject);<br />
13           $form-&gt;addElement($subjectElement);<br />
14<br />
15           $patternElement = new Zend_Form_Element_Text(&#8220;pattern&#8221;);<br />
16           $patternElement-&gt;setValue($pattern);<br />
17           $form-&gt;addElement($patternElement);<br />
18<br />
19           $form-&gt;addElement(&#8220;submit&#8221;,&#8221;send&#8221;);<br />
20<br />
21           echo $form;<br />
22           echo Zend_Json::encode($matches);<br />
23      }</p>
<p>Thanks for the html conversion of this code:<br />
<a href="http://www.phpdebutant.com/archive/PHP-code-to-HTML-conversion/PHP%20code%20to%20HTML%20conversion.php">http://www.phpdebutant.com</a></p>
<p>Regex Tutorial/Reference:<br />
<a href="http://www.phpro.org/tutorials/Introduction-to-PHP-Regex.html">http://www.phpro.org/tutorials/Introduction-to-PHP-Regex.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/08/19/quick-and-dirty-regex-tester-in-zend-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Favicon PHP Proxy.</title>
		<link>http://ingol.nl/blog/2009/07/09/google-favicon-php-proxy/</link>
		<comments>http://ingol.nl/blog/2009/07/09/google-favicon-php-proxy/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 11:34:28 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[favicon]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=207</guid>
		<description><![CDATA[A little code snippet to fetch and cache favicons via the google s2 favicon service.
It uses the PHP Zend framework to store and retrieve the favicons from a (MySQL) database &#8230;
http://ingol.nl/code/FaviconProxy.htm
]]></description>
			<content:encoded><![CDATA[<p>A little code snippet to fetch and cache favicons via the google s2 favicon service.<br />
It uses the PHP Zend framework to store and retrieve the favicons from a (MySQL) database &#8230;</p>
<p><a href="http://ingol.nl/code/FaviconProxy.htm">http://ingol.nl/code/FaviconProxy.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/07/09/google-favicon-php-proxy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploring jQuery Grids</title>
		<link>http://ingol.nl/blog/2009/04/21/exploring-jquery-grids/</link>
		<comments>http://ingol.nl/blog/2009/04/21/exploring-jquery-grids/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 11:31:39 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=205</guid>
		<description><![CDATA[Grids:
FlexiGrid
jqGrid
]]></description>
			<content:encoded><![CDATA[<p>Grids:<br />
<a href="http://www.webplicity.net/flexigrid/">FlexiGrid</a><br />
<a href="http://www.trirand.com/blog/">jqGrid</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/04/21/exploring-jquery-grids/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine Supports JAVA!</title>
		<link>http://ingol.nl/blog/2009/04/08/google-app-engine-supports-java/</link>
		<comments>http://ingol.nl/blog/2009/04/08/google-app-engine-supports-java/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 11:29:00 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=199</guid>
		<description><![CDATA[App Engine is unveiling its second language (first = Python): Java. Today&#8217;s release includes an early look at our Java runtime, integration with Google Web Toolkit, and a Google Plugin for Eclipse, giving you an end-to-end Java solution for AJAX web applications.
http://code.google.com/appengine/
]]></description>
			<content:encoded><![CDATA[<p><span style="font-style:italic;">App Engine is unveiling its second language (first = Python): Java. Today&#8217;s release includes an early look at our Java runtime, integration with Google Web Toolkit, and a Google Plugin for Eclipse, giving you an end-to-end Java solution for AJAX web applications.</span></p>
<p><a href="http://code.google.com/appengine/">http://code.google.com/appengine/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/04/08/google-app-engine-supports-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Dev. Tip : Creative Rich Interfaces</title>
		<link>http://ingol.nl/blog/2009/03/30/web-dev-tip-creative-rich-interfaces/</link>
		<comments>http://ingol.nl/blog/2009/03/30/web-dev-tip-creative-rich-interfaces/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 11:27:44 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=197</guid>
		<description><![CDATA[http://www.noupe.com/design/10-creative-rich-ui-interfaces-how-to-create-them.html
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.noupe.com/design/10-creative-rich-ui-interfaces-how-to-create-them.html">http://www.noupe.com/design/10-creative-rich-ui-interfaces-how-to-create-them.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/03/30/web-dev-tip-creative-rich-interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Tip : Selenium</title>
		<link>http://ingol.nl/blog/2009/03/30/testing-tip-selenium/</link>
		<comments>http://ingol.nl/blog/2009/03/30/testing-tip-selenium/#comments</comments>
		<pubDate>Mon, 30 Mar 2009 11:26:34 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=195</guid>
		<description><![CDATA[Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests.
http://seleniumhq.org/projects/ide/
]]></description>
			<content:encoded><![CDATA[<p>Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests.</p>
<p><a href="http://seleniumhq.org/projects/ide/">http://seleniumhq.org/projects/ide/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/03/30/testing-tip-selenium/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web Dev. Tip : Programmable Web</title>
		<link>http://ingol.nl/blog/2009/03/27/web-dev-tip-programmable-web/</link>
		<comments>http://ingol.nl/blog/2009/03/27/web-dev-tip-programmable-web/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 11:25:11 +0000</pubDate>
		<dc:creator>Reboot</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[mashup]]></category>

		<guid isPermaLink="false">http://ingol.nl/blog/?p=193</guid>
		<description><![CDATA[ProgrammableWeb is where you can keep-up with what&#8217;s new and interesting with mashups, Web 2.0 APIs, and the new Web as Platform.
http://www.programmableweb.com/
]]></description>
			<content:encoded><![CDATA[<p>ProgrammableWeb is where you can keep-up with what&#8217;s new and interesting with mashups, Web 2.0 APIs, and the new Web as Platform.</p>
<p><a href="http://www.programmableweb.com/">http://www.programmableweb.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ingol.nl/blog/2009/03/27/web-dev-tip-programmable-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
