<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9202004660507786650</id><updated>2012-01-07T17:27:01.835+01:00</updated><category term='mantis'/><category term='containers'/><category term='string'/><category term='trunk'/><category term='make'/><category term='stable'/><category term='OOwrapper'/><category term='webkit'/><category term='iterator'/><category term='fpc'/><category term='generics'/><category term='gdbm'/><category term='sampler'/><category term='gtk'/><category term='unicode'/><category term='multicore'/><category term='btree'/><category term='release'/><category term='enumerator'/><category term='heLib'/><title type='text'>Free Pascal Random Bits</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-4911241686101271523</id><published>2012-01-07T17:25:00.001+01:00</published><updated>2012-01-07T17:27:01.840+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><category scheme='http://www.blogger.com/atom/ns#' term='stable'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><title type='text'>Release 0.4 is the new stable</title><summary type='text'>The previously released version 0.4 was found to be working w/o known bugs with the latest stable FPC 2.6.0 (svn revison 19485). Now virtually rereleasing the RC1 as the "offical" stable.</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/4911241686101271523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2012/01/release-04-is-new-stable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/4911241686101271523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/4911241686101271523'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2012/01/release-04-is-new-stable.html' title='Release 0.4 is the new stable'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-8088233148106989706</id><published>2011-12-11T22:35:00.001+01:00</published><updated>2011-12-11T22:53:09.041+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enumerator'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='iterator'/><category scheme='http://www.blogger.com/atom/ns#' term='generics'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='btree'/><title type='text'>heLib release 0.4</title><summary type='text'>This is a RC1 of heLib for FPC 2.6.0 (soon to be released Free Pascal version). Compatible/tested with tags/release_2_6_0, rev 19814. Download source tarball here.

Expect a release version (say, version 0.5) soon after FPC 2.6.0 gets out if this RC1 is not going to work with the final FPC 2.6.0 and/or issues will be found and fixed in heLib 0.4.
Online documentation.
Status:
$ ./helib_test -a -p</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/8088233148106989706/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2011/12/helib-release-04.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/8088233148106989706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/8088233148106989706'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2011/12/helib-release-04.html' title='heLib release 0.4'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-2304232565514220308</id><published>2011-02-13T16:07:00.000+01:00</published><updated>2011-02-13T16:07:06.418+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='trunk'/><category scheme='http://www.blogger.com/atom/ns#' term='make'/><title type='text'>Anybody out there?</title><summary type='text'>The helib/heContnrs latest release (0.3.1) is once again dead for the time being due to a compiler internal error with the latest (as of today) trunk FPC.

This is no rant about the trunk version changing. That's actually a good thing - the dev team is continuously improving it. The problem is to play catch up with the trunk. It was my decision to base heContnrs on the trunk version. It was the </summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/2304232565514220308/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2011/02/anybody-out-there.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/2304232565514220308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/2304232565514220308'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2011/02/anybody-out-there.html' title='Anybody out there?'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-9121793089817949471</id><published>2010-12-22T22:41:00.004+01:00</published><updated>2010-12-22T22:48:19.216+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>heLib release 0.3.1</title><summary type='text'>The recent changes in the trunk FPC generics made all previous heLib releases broken. Release 0.3.1 addresses this situation. Otherwise no new classes/features were added. Direct source tarball download link.</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/9121793089817949471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/12/helib-release-031.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/9121793089817949471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/9121793089817949471'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/12/helib-release-031.html' title='heLib release 0.3.1'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-6888671338780667401</id><published>2010-09-10T15:11:00.001+02:00</published><updated>2010-09-10T15:14:38.900+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enumerator'/><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='iterator'/><category scheme='http://www.blogger.com/atom/ns#' term='generics'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='btree'/><title type='text'>Generic B+Trees (heLib release 0.3)</title><summary type='text'>FPRB/heLib/heContnrs.pas has got a new container type - generic BTrees.</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/6888671338780667401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/09/generic-btrees-helib-release-03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6888671338780667401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6888671338780667401'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/09/generic-btrees-helib-release-03.html' title='Generic B+Trees (heLib release 0.3)'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-6194334193017232772</id><published>2010-09-05T13:41:00.000+02:00</published><updated>2010-09-05T13:41:32.229+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enumerator'/><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='iterator'/><category scheme='http://www.blogger.com/atom/ns#' term='generics'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>heLib release 0.2</title><summary type='text'>FPRB/heLib/heContnrs.pas has got a new container type - generic lists.</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/6194334193017232772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/09/helib-release-02.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6194334193017232772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6194334193017232772'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/09/helib-release-02.html' title='heLib release 0.2'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-556113622719136944</id><published>2010-09-01T22:54:00.000+02:00</published><updated>2010-09-01T22:54:46.524+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enumerator'/><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='iterator'/><category scheme='http://www.blogger.com/atom/ns#' term='generics'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>heLib release 0.1</title><summary type='text'>FPRB/heLib 0.1 has been released today:
Generic vector containers with generic enumerators.
Online documentation.
Test suite.
Permissive BSD-style license.
Requires trunk FPC (2.5.1).
Resources:
Source tarball downloadable directly from the project home page.
Subversion access
Ideas, code reviews, testing, bug reports, code contributions etc. are welcome.</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/556113622719136944/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/09/helib-release-01.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/556113622719136944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/556113622719136944'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/09/helib-release-01.html' title='heLib release 0.1'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-7943150892418953059</id><published>2010-08-22T17:51:00.001+02:00</published><updated>2010-08-22T23:29:15.494+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='enumerator'/><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='iterator'/><category scheme='http://www.blogger.com/atom/ns#' term='generics'/><title type='text'>Containers with multiple enumerators</title><summary type='text'>Paul Ishenin is, AFAIK, the author of the FPC enumerators support implementation. In his article on the FPC Wiki "FOR-IN LOOP", section "Proposed extensions/Select which enumerator to use", one can read (I hope it's allowed/legal/fair use to reproduce here the part of interest):
It is impossible to choose among different possible enumerators. For example you can traverse a tree using different </summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/7943150892418953059/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/08/containers-with-multiple-enumerators.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/7943150892418953059'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/7943150892418953059'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/08/containers-with-multiple-enumerators.html' title='Containers with multiple enumerators'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-5902738353763494635</id><published>2010-08-17T15:47:00.000+02:00</published><updated>2010-08-17T15:47:00.285+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='heLib'/><title type='text'>Introducing heLib</title><summary type='text'>Started the fprb project at Google's Code. Hoping to, as time and circumstances permits, collect there some previous random bits as wishfully the future ones. When something worth mentioning becomes available, it will be presumably announced on this blog.
ATM one can find there a work in progress state of a generic [object] vector with generic enumerators, roughly/conceptually corresponding to </summary><link rel='related' href='http://code.google.com/p/fprb/' title='Introducing heLib'/><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/5902738353763494635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/08/introducing-helib.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/5902738353763494635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/5902738353763494635'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/08/introducing-helib.html' title='Introducing heLib'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-7621815289094021941</id><published>2010-05-20T22:39:00.004+02:00</published><updated>2010-05-20T22:54:23.168+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OOwrapper'/><category scheme='http://www.blogger.com/atom/ns#' term='gdbm'/><category scheme='http://www.blogger.com/atom/ns#' term='sampler'/><title type='text'>Sampler: GDBM OO wrapper</title><summary type='text'> 
unit Unit1; 
 
{ (c) 2010 bflm, contact: befelemepeseveze at Google's free mail
 
  Free sample code - copy, use, modify, distribute, sell, release under other license, ...
 
}
 
{$mode objfpc}{$h+}
 
interface
 
const
  DEFAULT_FMODE = 432; // =0660(8)
 
type
 
  { TGDBM }
 
  TGDBM = class
  private
    FCacheSize: Integer;
    FCentFree: Longbool;
    FCoalesceBlks: Longbool;
    FDBF: </summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/7621815289094021941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/05/gdbm-oo-wrapper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/7621815289094021941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/7621815289094021941'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/05/gdbm-oo-wrapper.html' title='Sampler: GDBM OO wrapper'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-6034052501259557235</id><published>2010-05-10T09:12:00.008+02:00</published><updated>2010-05-10T09:29:58.620+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='containers'/><category scheme='http://www.blogger.com/atom/ns#' term='generics'/><category scheme='http://www.blogger.com/atom/ns#' term='sampler'/><title type='text'>Sampler: Generic enumerators for generic containers</title><summary type='text'>unit Unit1; 

{ (c) 2010 bflm, contact: befelemepeseveze at Google's free mail

  Free sample code - copy, use, modify, distribute, sell, release under other license, ...

}

{$mode objfpc}{$H+}

interface

type

  { TEnumerator }

  generic TEnumerator&lt;TValue, TIterator&gt; = object
  public type
    TGetCurrent = function(const Iterator: TIterator): TValue of object;
    TMoveNext = function(var </summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/6034052501259557235/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/05/sampler-generic-enumerators-for-generic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6034052501259557235'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6034052501259557235'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/05/sampler-generic-enumerators-for-generic.html' title='Sampler: Generic enumerators for generic containers'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-9124964511461380464</id><published>2010-05-05T17:04:00.001+02:00</published><updated>2010-05-05T17:06:08.448+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mantis'/><category scheme='http://www.blogger.com/atom/ns#' term='unicode'/><title type='text'>Unicode Category Membership Checking</title><summary type='text'>Submitted a feature proposal on Mantis. Reviews are welcome.</summary><link rel='related' href='http://bugs.freepascal.org/view.php?id=16400' title='Unicode Category Membership Checking'/><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/9124964511461380464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/05/unicode-category-membership-checking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/9124964511461380464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/9124964511461380464'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/05/unicode-category-membership-checking.html' title='Unicode Category Membership Checking'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-1210906772045435808</id><published>2010-02-10T13:34:00.001+01:00</published><updated>2010-02-10T13:36:55.832+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='string'/><title type='text'>String Buffer Performance</title><summary type='text'>Benchmarks for the yesterday's post.

 
program project1;
 
{$mode objfpc}{$H+}
 
uses
  Classes, DateUtils, SysUtils, StrBuf;
 
type
  TBench = procedure(const PartSize, MaxSize: Integer);
 
procedure BuildString(const PartSize, MaxSize: Integer);
var
  Buf: String;
  BufSize: Integer;
begin
  Buf := '';
  BufSize := 0;
  while BufSize &lt; MaxSize do begin
    Buf += StringOfChar(' ', PartSize);
</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/1210906772045435808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/02/string-buffer-performance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/1210906772045435808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/1210906772045435808'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/02/string-buffer-performance.html' title='String Buffer Performance'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-862092883270641455</id><published>2010-02-09T12:11:00.010+01:00</published><updated>2010-02-10T13:40:46.288+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='string'/><title type='text'>Simple String Buffer</title><summary type='text'> 
unit StrBuf;
 
{$mode objfpc}{$H+}
 
{ Simple string buffer
 
  No setup/teardown required, memory mngmt, initialization, and finalization
  is done by FPC itself.
 
  Copyright (C) 2010 bflm, contact: befelemepeseveze at Google's free mail
 
  This library is free software; you can redistribute it and/or modify it
  under the terms of the GNU Library General Public License as published by
  </summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/862092883270641455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2010/02/simple-string-buffer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/862092883270641455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/862092883270641455'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2010/02/simple-string-buffer.html' title='Simple String Buffer'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-6980684650422817407</id><published>2009-11-05T18:49:00.002+01:00</published><updated>2009-11-05T18:55:38.753+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='multicore'/><category scheme='http://www.blogger.com/atom/ns#' term='fpc'/><category scheme='http://www.blogger.com/atom/ns#' term='trunk'/><category scheme='http://www.blogger.com/atom/ns#' term='make'/><title type='text'>Multicore Compiler Make</title><summary type='text'>Tested today Jonas Maebe's multicore FPC build tip from the Recompiling new changes thread at the Free Pascal Community.
$ time ( cd ~/svn/fpc/trunk &amp;&amp; make clean &amp;&amp; make all OPT="-gl" &amp;&amp; make install INSTALL_PREFIX=~ )
...
real 3m15.641s
user 2m16.350s
sys  0m28.710s
$ 

# vs

$ time ( cd ~/svn/fpc/trunk &amp;&amp; make -j 2 clean &amp;&amp; make -j 2 all OPT="-gl" &amp;&amp; make -j 2 install INSTALL_PREFIX=~ )
...
</summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/6980684650422817407/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2009/11/multicore-compiler-make.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6980684650422817407'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/6980684650422817407'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2009/11/multicore-compiler-make.html' title='Multicore Compiler Make'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9202004660507786650.post-2289861370518149879</id><published>2009-10-02T21:19:00.022+02:00</published><updated>2009-10-15T16:46:45.566+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='webkit'/><category scheme='http://www.blogger.com/atom/ns#' term='gtk'/><title type='text'>WebKit/Gtk Experimenting</title><summary type='text'>Tried to play a bit with WebKit/Gtk using the current Free Pascal (SVN) version. Proof of concept on Linux (only) is below. Don't expect the program to run and/or compile on Windows without modifications.
 
program GtkLauncher;
 
{$mode objfpc}{$H+}
 
{ This is a FPC port/modification of the original source from:
  http://trac.webkit.org/browser/trunk/WebKitTools/GtkLauncher/main.c
 
  - Tested </summary><link rel='replies' type='application/atom+xml' href='http://freepascal-bits.blogspot.com/feeds/2289861370518149879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://freepascal-bits.blogspot.com/2009/10/webkit-experimenting.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/2289861370518149879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9202004660507786650/posts/default/2289861370518149879'/><link rel='alternate' type='text/html' href='http://freepascal-bits.blogspot.com/2009/10/webkit-experimenting.html' title='WebKit/Gtk Experimenting'/><author><name>bflm</name><uri>http://www.blogger.com/profile/04562789893798531364</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7Mjb0xsImkg/SsZd0wnHaGI/AAAAAAAAAOY/-ue8cb3Jv0g/s72-c/GtkLauncher.png' height='72' width='72'/><thr:total>2</thr:total></entry></feed>
