Monday, December 15, 2008

Did you like Npgsql? Send us a postcard!

Hi all!

Some time ago, a friend of mine, Horita, told me about a project whose owner asked people who liked his software to send him a postcard. I liked the idea and yesterday, while cooking the 2.0.2 release with Josh Cooley, I told him about this idea and he also liked it.

So, if you like Npgsql you can send us a postcard. Here are the addresses:

Josh Cooley
102 Boston Harbour Way
Madison, AL 35758

Francisco Figueiredo Jr.
QMSW 05 Lote 02 Bloco C Apto 116
Sudoeste - Brasilia - DF - Brazil
Zip Code: 70680-500

Thank you very much!

Npgsql 2.0.2 released!

Hi all!

Npgsql Development Team is proud to announce we just released Npgsql 2.0.2!

This release brings the usual bug fixes and minor improvements from previous release.

Here are the release notes:


Fix the fix for datetime.MinValue and MaxValue. Only MinValue was fixed. Now both Min and Max are fixed. Thanks Andrus Moor for heads up.(fxjr)
Fixed problem with parameter sizes and prepared statements.(fxjr)
[#1010488] NgsqlParameter of type containing DBNull values throws NullReferenceException
[#1010521] NpgsqlInterval should be quoted.
Datetime with negative values (thanks to Mathieu Fenniak ) and singular values such as "1 day"
[#1010495] Bad performance calling a (empty) function very often.

New additions:

Added documentation about how to use Npgsql with Provider Factory. Thanks Alaric for heads up.
Ensure refcursors work with System.Transactions. (Josh)

On this release, Josh Cooley fixed some bugs on Entity Framework support and System.Transactions.

For more information about those and other fixes, please, see our ChangeLog.

You can get it from our usual location:

Thank you Josh and everybody for all the help with this release.

Friday, November 28, 2008

NpgsqlCommand optimizations and usage tip

Hi, all!

Some days ago, I fixed a slow performance problem with Npgsql when calling functions. The problem was that Npgsql was doing a lot of expensive checks (in fact, 3) to verify parameter information and return type. The solution was to cache those checks so that new calls to the same function don't need to pass through the same checks again.

In order to not have problems with outdated caches and etc and after talking to Josh on gmail, I decided to make the cache local and it would be invalidated as soon as the command text is changed.

This semantics lead me to write this blog to share the idea that you can get a big performance improvement if you "cache" your NpgsqlCommands which will be used with function calls. This way, instead of creating and releasing the command object after its usage, you can create all your NpgsqlCommand objects associated to function calls and reuse them as needed. This way you pay for the costly checks only once.

I hope this tip can help people to get some performance gains from this fix. :)

Tuesday, November 04, 2008

Npgsql2 2.0.1 released!

Hi, all!

Npgsql Development Team has just released Npgsql2 2.0.1.

This is a minor bug fix release with highlights to entity framework fixes.

Check out release notes for more information.

You can grab it from the usual location:


Friday, October 17, 2008

Monday, October 06, 2008

Npgsql2 Final Released!!

Hi, all!

The Npgsql Development Team is proud to announce the Npgsql2 RTM!

Npgsql is a .Net Data provider written 100% in C# which allows .net
programs to talk to postgresql backends. Npgsql is licensed under BSD.
More info can be obtained from

After almost two years of development since Npgsql 1.0, Npgsql 2
brings new features and support for newer versions of .Net.

Although externally Npgsql2 doesn't seem very different of Npgsql1
regarding features, internally Npgsql2 had a lot of improvements which
represents a much more stable product, more bugs fixed and many
implemented methods. It is strongly advised that current users update
from Npgsql1 to Npgsql2.

Main features are:

Support for .Net 2.0 and 3.5

Josh Cooley did a great job and added support for EntityFramework.

Npgsql2 now doesn't read all table contents before returning control
to user code. This makes Npgsql much more memory efficient when
dealing with large tables. Thanks Jon Hanna for this.
Check User Manual for more info about that and how to revert to old
behavior of loading all data if you need it.

Thanks to Daniel Nauck, Npgsql now have support for ASP.Net providers.
You can visit Daniel project page at:

You can see full changelog and release notes here:

You can dowload it from here:

For instructions about how to use NpgsqlFactory, check out our User Manual:

Please, give it a try and let us know if you have any problems.
Check out our forums:

Friday, September 12, 2008

Npgsql2 RC2 Released!!

Hi all!

It's a great pleasure to say that Npgsql2 RC2 is released.

From release notes:

This version contains some fixes and updates for latest entity framework release.
We are already in feature freeze and not so many things were added this time.

Highlights include:

Npgsql2 rc2 now supports .NET 3.5 sp1 with Entity Framework support. We support model generation by the command line edmgen.exe tool. This requires the Npgsql be registered in the provider section of machine.config.

A lot of fixes were done on connection pool handling. Also, when running under Mono, Npgsql wasn't using connection pool. Now it is.

We added some code to better handle threadabort when executing queries with Npgsql. It isn't perfect but is much better than with previous versions.

Thank you everybody who helped with bug reports, comments and patches!

Monday, September 08, 2008

Committed fix to make Npgsql use Pool when running under Mono

Yes, you read it right, Npgsql wasn't using connection pool when running under Mono!!

The problem seemed to be that Npgsql was using one key to get a connection to pool and another one to return it back.
The issue is that although it is wrong, those two values were supposed to be the same.
You can see here and here bug reports about it.

Well, the fix is already on cvs, so if you were using Npgsql on Mono, you should definitely give it a try so you can see if your code works ok.

Sorry for this problem.

Later I will bring a full analysis of what can be the problem.

Thursday, August 28, 2008

Stream seek error

Hi all!

Since Npgsql RC1, we started to receive some error reports about problems when closing connections. The typical stack trace looked like this:

System.NotSupportedException : This stream does not support seek operations.

at System.Net.Sockets.NetworkStream.Seek(Int64 offset, SeekOrigin origin)

at System.IO.BufferedStream.FlushRead()
at System.IO.BufferedStream.WriteByte(Byte value)

at Npgsql.NpgsqlQuery.WriteToStream(Stream outputStream) in C:\Npgsql\Npgsql2\src\Npgsql\NpgsqlQuery.cs:line 62

at Npgsql.NpgsqlReadyState.QueryEnum(NpgsqlConnector context, NpgsqlCommand command) in
C:\Npgsql\Npgsql2\src\Npgsql\NpgsqlReadyState.cs:line 64

at Npgsql.NpgsqlConnector.ReleasePlansPortals() in C:\Npgsql\Npgsql2\src\Npgsql\NpgsqlConnector.cs:line 373

at Npgsql.NpgsqlConnectorPool.UngetPooledConnector(NpgsqlConnection Connection, NpgsqlConnector Connector)
in C:\Npgsql\Npgsql2\src\Npgsql\NpgsqlConnectorPool.cs:line 541

at Npgsql.NpgsqlConnectorPool.ReleasePooledConnector(NpgsqlConnection Connection, NpgsqlConnector Connector) in
C:\Npgsql\Npgsql2\src\Npgsql\NpgsqlConnectorPool.cs:line 284

at Npgsql.NpgsqlConnection.Close() in C:\Npgsql\Npgsql2\src\Npgsql\NpgsqlConnection.cs:line 584

This seems to be caused by some out of sync problem with Npgsql. I proposed a solution in our bug tracking about this problem.

Please, give it a try and let me know if it solves the problem.

Thanks in advance.

Server donation received!

Hi all!

Today, Npgsql received a server donation from a person who prefers to remain anonymous.
With it, we will be able to provide nightly builds as well as a continuous integration build service. We are thinking about using CruiseControl.Net

Thank you very much for the donation!

Tuesday, August 05, 2008

Pé quebrado - Broken foot

Olá, pessoal!

Ontem eu quebrei o meu pé descendo as escadas!! Tristeza total. :(
Vou ficar 30 dias com gesso e esperar pelo melhor.

A parte boa disso é que eu vou ter mais tempo para o Npgsql e para ver TV :)


Hi, all!
Yesterday I broke my foot while I was going down the stairs!! Absolute sadness :(
I'm going to stay 30 days in plaster e hope for the best.

The good part of all this is that I'll have more time for Npgsql and to watch TV :)

Tuesday, July 29, 2008

Npgsql2 RC1 Released!

Hi, all!

It's a great pleasure to say Npgsql Development Team made a new release of Npgsql2. We are closer to the final release!

On the highlights, thanks to Josh Cooley, we have support for newer version of EntityFramework 3.5sp1beta.

Another highlight is that we fixed the cast problem some people had when using Npgsql2 beta4. Now, Npgsql will only use casts if the user explicitly specify a DbType or NpgsqlDbType value.

Also, thanks Andreas Schönebeck, who provided us with testcases and feedback, we have a much better threadabortexception handling. Those exceptions were making Npgsql be instable and sometimes unusable.

Please, if you had any problem, give RC1 a try and help us to improve Npgsql for final release.

Other changes can be seen in our changelog.

Donwload Npgsql2RC1 from our usual place

Thank you to all who helped us with this release with feedback, bug fixes, bug reports and comments.

Tuesday, July 08, 2008

Simplesmente absurdo!

Sr. Senador Azeredo... 

"Isso é uma... vergonha!"

Já votei na petição para acabar com essa falta de vergonha. Querer criminalizar fansubber??

Fala sério!!



Yesterday Daniel Nauck showed me Ohloh site. 

There was even Npgsql project registered there! I never heard about this site until yesterday. And it is very nice! Thank you, Ricardo Stuven for creating the project. At least this is the person who appears as the project creator on the history page.

From the project page you can see a timeline of commits, code analysis, miniblogs like twitter about development and many other things. Cool!

Thank you very much for the tip, Daniel. I think this site will be a great addition to provide more information about the project to our users and other developers.

Thursday, July 03, 2008

Finally post my PGCon2008 pictures!!

Hi all,

I finally post my pictures from PGCon2008.

You can see them on my picasa web album.

Cleaning up the patches list

Wow! I think our patch list is too big and I need to do something about it! :)

Sorry all who sent your patches and didn't have them applied yet. I'm starting to run through the list and reviewing/discussing/applying them.

If you have any patch you think needs urgent attention, please let me know.

Thanks in advance.

Thursday, June 26, 2008

Perian: Codec solution for my quicktime no audio with video files

After having some problems playing audio from some video files, I found this thread on macosxhints which talked about Perian. And voilà! It worked perfectly. It has a simple double click install procedure which adds a new item on your preferences pane. 

Very nice! :)

Tuesday, June 24, 2008

And today I knew Shiira...

And I loved it!

I know I said about using firefox 3 and liking it, but after some days I was not confortable with it. I think I could get more. After some research, I found about Shiira on google search and decided to give it a try.

I loved its speed. Also it needs very few resources. At least processor power. I'm still investigating memory usage which I thought it was a little too much for some pages I opened. 
I also liked it because if uses WebKit rendering engine which I think is faster than gecko. Also, it is opensource, so I'm very happy and for while doesn't need to use the proprietary Safari.

For while I'm enjoying it very much.

Shiira homepage:

Friday, June 20, 2008

Update: Two complains: Screen Responsiveness and SuspendToRam/Disk

Hi all!

You may have seen I had two main complains about gnu/linux desktop. Today I updated my ubuntu with some long standing pending updates. I could see there was updates for firefox 3.0 and ati binary drivers.

Well, I can see that now firefox responsiveness is much, much better. It is not so good as I'd like it to be, but it is in the right direction for sure!. I also see that desktop has a better screen responsiveness than before. That's great!

I hope things get better and better as I want to see gnu/desktop as the best user experience possible.

Thanks all who are working on those issues and fixing them.

Thursday, June 19, 2008

Getting control back...

Hi all!

After some testing with Firefox on OSX I confess I was a little bit disappointed because with only a blank page firefox was taking up 10%-13% of cpu time!

Today celebrating the firefox download day and of course to test the new version I give it a try again, thinking it could be something with the beta version. No luck :( Firefox was still getting something like 10%-13% of cpu. It was then I tried to google about it and I found something about problems with add-ons. And then I remember I installed add-on. I disabled it and immediately firefox started to use 0.4%-0.1% of cpu time! :) Sweet!! Now I can use firefox as my primary browser again. Thank you guys for such a great product. Version 3 rocks even more!

Another change I made was to give songbird another try. After playing a little bit, I found out there is the 0.6 version available. Wow! What a difference... As they said in songbird release notes, browing music library is much, much faster! Great!! Also, after installing the excellent Album Art Manager I got exactly what I wanted: a cover art displayer and also a very nice growl notification integration. Sweetˆ2 :)

That's it. I'm very happy I could get control back from two main applications I use most. OpenSource rulez! That's what opensource is all about: freedom.

See you.

Monday, June 09, 2008

Two complains: Screen Responsiveness and SuspendToRam/Disk

Hi all!

Firstly, I'd like to say that I love Gnu/Linux and please don't take me wrong. What I'm saying here is based on what I see after using Gnu/Linux for the last 4 years.

About the suspend to ram/disk I understand because it may be very difficult to have it working on all type of hardware. But as it was already pointed out on Ubuntu Brainstorm and I think they are already working on it.

But now, at least to me, the biggest complain I have is the performance of screen responsiveness of gnu/linux desktop. I don't know if this is the correct term, but what I mean is the speed the text is draw in the screen, the speed the windows are rendered and so on. In summary, the perception I have of how fast the screen is drawing its contents.

My experience is based on my old notebook. A Pentium4m with an intel 855gm with shared video memory.
I'm using Ubuntu 8.04 with Gnome.

When I open firefox on my gmail page, for example, the scroll is not so good. The scroll is too slow. On the same hardware, when I boot on windows with firefox the scroll is not perfect but it is much better. I can't even talk about processor usage of firefox. I don't know why this happens. But after so much time using Gnome when I boot up again on windows so a friend of mine who only used windows could work on it, I saw that windowing and screen performance was very very different. I just don't know why it is this way. Another point: Just to change from one tab to another on firefox on my system could make me wait for something like 0.5 seconds. Again, I'd like to say that on windows on the same machine, firefox didn't take so much time like this.

So, I don't know if the problem is in firefox itself. Or somewhere else. I noticed that if I use XFCE I get a better performance on screen rendering but not so much. So, maybe it is Gnome the problem? I noticed that Konqueror on KDE seemed to give me a better screen responsiveness compared to gnome and xfce. Maybe it is a GTK problem? I also thought it could be a problem of X11 but I don't know very well about it to say if it has so much to contribute to this problem or not.

This is what I got with firefox only. If I talk about MPlayer and video performance for example, we have a similar history. On windows, the performance of mplayer is much better. Even when Ubuntu is using XV output driver.

So, please, if someone can explain me this difference and maybe some why's about it. I don't know if I'm saying non sense things and please, correct me if I am. But I really really whish those screen related performance problems were excluded from my gnu/linux experience.

Just another comparison... Before I bought my macbook, I used Ubuntu 8.04 on a sony vaio with a nvidia card 8400GT with 256MB of dedicated video memory and while the screen responsiveness was much much better, of course, I still could see some lags while scrolling the gmail page and while chaging from one tab to other. I had vista installed on it and firefox didn't showed this problem while I was using ff with vista. I don't know if this is a good comparison as I didn't take any numbers of it, but it gives me some practical results about what I feel when using windows, os x and gnu/linux. And as a big fan and advocate of gnu/linux, I repeat, I really really wish those problems to be solved.

Thank you in advance for you time. Please, send your comments.

One week of MacBook later....

Well, Macbook continues to be awesome, but I already have some complains with the software... :(

No ABNT2 keyboard support! Just after one week of research and I still had to make a modification in the keyboard layout, I finally could find one which worked on my ABNT2 keyboard. Thanks to this post I could get a 99% working keyboard layout. I just had to swap back the \ | and ' " mappings. I have to admit I'm really upset with Apple for not providing a keyboard mapping which works on Brazilian Portuguese ABNT2 keyboards.

Another difficult I faced was to use the external monitor only. On gnu/linux I just used the xrandr command xrandr --output LCD off and it was done. Thanks to this post I could get it working by connect my external LCD monitor, close the lid, wait for macbook to sleep and so wake it up with my external keyboard. At least it is working ok now.

Another thing which is making me nuts is that the spaces feature always wants to bring to front the finder window and not the window which had focus before I changed the virtual desktop. I already installed the MacOS 10.5.3 combo update which says something about fixing this but for me it didn't work :(

I will stay with OSX for while, now that my keyboard and monitor problems are solved. But I have to say that I was much more comfortable with the gnome gnu/linux environment. Maybe I still need time to get used to all this. In another post I will talk about what make me nuts with gnu/linux and desktop. Tip: Power management (suspend to ram/disk) and X11 performance (screen updates). 

See you.

Thursday, June 05, 2008

Thank you for so many OSX tips!!

Wow! I was very surprised by the big number of feedback I got when asking tips for my new MacBook! I'd like to say you a big THANK YOU! You are great.

I already installed iStat Pro. I liked it very much.

I also installed Adium, NoeOffice, Transmission, Songbird and I'm still downloading and installing other suggestions.

One drawback I saw was that after installing some applications, my solid rock brand new MacBook started to hang when shutting down! :O

I uninstalled iStat Pro as I think it is the only low level thing which could give me this type of problem. Until now, I already shut down my laptop two times and the problem seems to be solved. I installed the 4.6 version on my OSX 10.5.3.
I will try another version or a previous one later.

I don't now but I didn't like the SongBird. I don't know why yet. I liked very much the Rhythmbox and I'm sad I can't get it on my Mac :(. For while I think I will keep using iTunes. But I'd rather use some other open source audio player.

I followed the suggestion of creating a new folder inside the Applications special place. (This makes me ask: Is there a way to add other folders to the Places together with my home folder and the applications folder itself?)
I also put this folder near the trashcan in the dock so I can access it easily. I just couldn't use the long click where I could see the hierarchical list of applications through menus. Maybe I need more explanation?? :) Anyway,thank you for your excellent explanations of many other aspects related about OSX. I didn't know I would need to be so cautious about software updates.

Another problem I had was that OSX seemed to not recognize my wireless keyboard correctly. It is an ABNT2 Brazilian Portuguese keyboard. When I connected it it showed me some keyboard options but I couldn't get my ç key to work on it. :( Maybe I'm doing something wrong. I will try again later.

Another problem I faced was when using my external LCD television. It has a resolution of 1360x768 and I couldn't use mirror with native screen resolution. I only could use it with extended desktop. I'd like to be able to turn off laptop lcd and just use the external monitor. Is this possible? A friend of mine said I could close the laptop lid but I think this could make my macbook heat up.

Other than that, everything seems to be working very well. I will post here more things I find about OSX.

Again, I'd like to thank everybody who spent some time to read my post and comment it. Thank you very much! I'm a much happier Mac user now. :)

That's it. See you!

P.S.: Thanks for the Pratchett quote indication. :) I hope my sanity is not so in danger because of so many exclamation marks. Just to be sure, I used fewer ones this time :)

Wednesday, June 04, 2008

I finally got my MacBook!! Tips???

Hi all!!

I finally got a MacBook 13.3"!! This baby is awesome!! I'm enjoying it very much. :) I still didn't install Ubuntu on it because I'd like to play a little bit with MacOS.

My first impressions of MacOS is that it is a very nice OS. I'd like the Aqua UI was opensource so I could have a complete OpenSource OS stack. At least Darwin is OpenSource.

Now I need to familiarize with MacOS and its utilities. So, if you have tips, links, suggestions for nice opensource applications I can install on my MacOS, please let me know.

I already have Mono installed. Thanks mono guys who provide the MacOS install package. It was pretty easy to install. I'd like to know if I can use Banshee on my Mac. I know iTunes is very good, but I'd like to use an OpenSource player. Do you know of anyone for MacOS? I couldn't find anyone.

I also installed MPlayer which worked perfectly! The MacOS sound is awesome!!

I also would like to know of a good IRC client, a good torrent client, and more important: I'd like to know some monitoring tools, like network speed, battery information, fan information, cpu etc. Which could be added to mac menu and give me information directly.

Thanks everybody in advance.

Back to Brazil!!!

Hi, all!

I'm back to Brazil! And I have to say that I loved Canada!! I'm seriously thinking about applying for an immigration process. Let's see what I can get...

I could see a lot of things and I liked very much Canadian people. They are very nice! For me it was a great pleasure to be in such a place! I hope to go back there some day.

I visited Niagara Falls, went for the first time to a casino. In Brazil they are not allowed. I met a lot of people from many places in the world: Korea, Japan, Belgium, England, Australia, USA and so on. I enjoyed very much to stay in a hostel. I never stayed in one before and I liked very much the experience.

That's it! I will post some pictures later and more impressions too.

Tuesday, May 27, 2008

Life after PGCon2008...

PGCon 2008 was awesome!!! I could meet a lot of people from postgresql community and take a lot of pictures!! I even got a picture with Tom Lane! Thank you very much, Selena! :)

I finally could meet Dave Page in person. Dave has helped Npgsql project in the beginning, 2002 and we never have met before!

I also could meet Magnus Hagander in person. He is a very nice person. I saw some of his talks and was very good!

I also could meet Hiroshi Saito and Josh Cooley. Hiroshi Saito is a big evangelist of Npgsql in Japan and has done a great work to talk to others about Npgsql there. Josh Cooley has been working on Npgsql adding nice features, like System.Transactions and entity framework support, and fixing bugs. I enjoyed very much to meet them and doing the presentation. Our presentation was very nice considering this was my first time doing a presentation in english. Josh said my english was good, so I was ok. Thank you Josh!

Another person I enjoyed very much to talk to was Selena. She is very nice. She makes me remember of Brazilian girls because she is very active and has very strong energy. She even talked about my twitter and so this explains why suddenly I started to be followed by some other people!! Selena, it was a great pleasure to meet you.

I'd like to thank Dan Langille for his support which allowed me to be here in Canada to attend this conference.

The unexpected thing which occur in this PGCon2008 was that Fernando Ike who was doing a presentation just before mine asked me to make a real time translation of his speech! So, just before I do my first talk in english I had to make my first real time translation! I must confess that I was very nervous but in the end everything was fine!

Well, that's it! I will add more later.

See you.....

Saturday, May 17, 2008

And now going to Toronto to see Niagara Falls

Hi all!!

Tomorrow I'm leaving Ottawa heading to Toronto to see Niagara Falls. I'll be taking a bus to go there and I hope to be able to get some guided tour to Falls. If not, I will go by myself anyway :)

I will be at Backpackers on Dundas hostel and I plan to stay there until next Tuesday when I will go back to Ottawa for PG Con.

So, if you are in Toronto and would like to talk about Npgsql, Postgresql or Mono, or just want to talk, please, drop me a mail.

P.S.: Kangaroo (Mono irc, sorry if this isn't exactly your nickname) please, drop me a mail so we can have some beers in Toronto!

See you.

Saturday, May 10, 2008

Going to Canada...

Hi, all!!

It's a great pleasure to say I'm going to attend PGCon2008 this year!! :)

I'm going to Canada tomorrow (May, 11) and hope to enjoy Ottawa and Canada before conference starts.

If you live in Ottawa and would like to talk about Npgsql, Mono, .Net or anything else, please drop me a mail.

About Npgsql, I posted on npgsql-devel list about an Npgsql2 beta4 release this week. But unfortunately it won't be possible. Josh is fixing some last bugs and will be doing a release next week. Sorry for any problems this announce may have caused.

So, that's it!

Stay tuned!

Friday, May 02, 2008

VirtualBox is amazing!!! Thank you VirtualBox developers!!

Man... I used to cry every time I thought about the beauty VMWare is about virtualization. But now, I have another one to cry for: VirtualBox.


First of all it is OpenSource. Only this is already a motivation by itself.

Second: It flies!!! I know VMware is very fast, but VirtualBox is a piece of magic. I don't know how to describe it. It is very fast, runs very smoothly and consumes very little resources!! I think there is no need for saying that I'm very excited with VirtualBox, is there? :)

Third: Starting with 1.6.0 It has support for Seamless integration for GNU/Linux and Solaris guests!!

Man!! Seamless integration is the next step in the way of virtualization... It is really nice!!

I'm doing some tests here and it works very well!

I'd like to thank you VirtualBox developers. And I also would like to say that Sun did a big step in the right direction buying VirtualBox. I hope many more features come and that 1.6 version is just the first of many excellent releases!

P.S.: Please, don't take me wrong. I'm a big fan of VMWare, I even have a 4.x license I bought to be able to compile Npgsql on MS .Net. But now that I have VirtualBox, I think that license will not be used anymore soon.

Wednesday, April 23, 2008

Looking for accommodation tips at Ottawa, Canada

Hi all!

I'm right now looking for accommodations in Ottawa, Canada. I'm going to do a presentation about Npgsql at PGCon2008 and as I never went to Ottawa I don't know of any good place to stay. If you have any tips about cheap hotels, hostels or anything , please, let me know.

Thanks in advance.

Update: I'd really really thank you all of those who gave me tips about places in Ottawa. I already did my reservation and hope to see you there at PGCon2008!!

Back from FISL 9.0!

Hi all!

FISL 9.0 was very, very nice!! I enjoyed very much to be able to talk to so many people about FLOSS!

I had the great pleasure to meet Josh Berkus and David Fetter! I took a picture with Josh I will post here later. Josh is a very nice person! I enjoyed very much to be able to talk to him. Unfortunately I talked almost nothing with David Fetter. I hope when I'm at PGCon I can talk to him a little bit more :)

I also met for the first time Everaldo Canuto on this presentation about Mono. It was very funny. Suddenly on his presentation, Everaldo stops and asks: "Is Francisco here?" After I put my hand up, he asks again: "Are you the Francisco I'm thinking you are?" and everybody started to laugh... :)
Anyway, Everaldo is a very funny person. He has a very particular way of doing presentations...

I also found my old friend Alessandro Binhara! I didn't know he would be there! It was a very nice surprise. We talked a little bit but unfortunately he said he wouldn't be able to stay much time there. :( I hope we can talk more later on another opportunity.

That's all for while. I will post some pictures I took at FISL later when I transfer them to my computer.

Stay tuned.

Friday, April 18, 2008

FISL 9.0

Hi, all!!

I'm right now at FISL (Fórum Internacional de Software Livre) 9.0 at Porto Alegre - RS - Brazil!

FISL is an annual conference about FOSS where we have a very nice opportunity to talk to many people about FOSS.

I will post more info about FISL later in another post.

Thursday, April 17, 2008

I'm now a twitter

As you now can see on my sidebar, I'm now a twitter

So, now you can see, or better, read to know what I'm doing. This is a youtube video a friend of mine Osny ( who is also my first twitter contact ) sent me about twitter:

Good twitting for you!

Monday, April 07, 2008

Npgsql2 Beta3 released!!

Hi all!!

Npgsql2 Beta3 has been released!

You can see full release notes here.
You can download files from here.

I'd like to thank everybody involved. This wouldn't be possible without your help.

I will post with more details about the new features and updates we had with this release.
Stay tuned!!

Sunday, March 09, 2008

Bye Gentoo... Welcome Ubuntu

Hi all!

After long time using Gentoo distribution (since June 2004) , I decided to try another distribution. I think one of the reasons I'm leaving Gentoo may be because I'm getting older and I'm not getting fun anymore of tweaking it. ;) Just kidding. Gentoo was and still is my best Gnu/Linux experience I had until now. I love the freedom you have to choose what you want and not want compiled and all the tweaks you can do. I learned very much about Gnu/Linux with it. Because of my aging, I think I'm getting lazier too :) Now I want my system to have everything automagically configured to me. I want to concentrate on other things besides the OS and desktop itself.

So, after some time trying to find another distribution, I decided to try Ubuntu Gutsy (7.10) Wow!! It is working perfectly! Just the way I wanted and it is super fast! Awesome! I have to admit I was a little skeptical about overall performance ( I think this is normal as I was coming from Gentoo) and also because my experience with Ubuntu 6.10 and 7.04 were horrible ( the whole thing was very very slow! ) Now the history seems to be different, way different. Ubuntu Gutsy is very fast and I liked it.

Just to note, I also installed OpenSuse some time ago, which seems to be a very nice distribution too. I like the 1-click install idea. But I had a bad experience with it when trying to mount my external hd's. Some time later, after I had removed it from my laptop I found out the problem wasn't with OpenSuse, but a kernel bug. When OpenSuse 11 comes out I shall try it again.

Last week I updated to Ubuntu Hardy (8.04) Alpha from update-manager -d command line. Upgrade was smooth and the system was very nice, until I find some problems which luckly I could find some easy solutions which are bookmarked on my

The main problem was with old intel 855GM video card. Thanks forums and bug report I could find a tweak (hmmm, I didn't want that, but I had no choice) on xorg.conf which made the trick. Ubuntu developers say that this tweak comes default in new alphas of Hardy.

That's it! As soon as I get more information about how is going my experience with Ubuntu I will let you know.

Saturday, March 01, 2008

Npgsql at PGCON2008! Here we go!

Hi, all!

It's a great pleasure to say that "Introducing Npgsql" will be presented at PGCON2008 by me, Josh Cooley and Hiroshi Saito!

To me is a great pleasure to be able to meet such great guys! It will be very nice to meet Dave Page too! He helped me very much since beginning of the project. Also, I will have the opportunity to meet other great people from Postgresql community!

I'm very excited! I already have my passport and now I'm waiting to get my visa to enter in Canada!

This is my first international trip and I think I'm starting very well! I hope to be able to attend international open source meetings more often.

This is my first time in Canada and I'm planning to stay from May 12 through May 30. If you have any tips about accommodation, places to eat, sleep and go in Canada (day and night :) ), please, let me know!

Thanks everybody and thanks God for this opportunity.

See you in Canada at PGCON2008!!

Monday, February 11, 2008

Array support commited in Npgsql2 cvs

Hi, all!

As previously stated, array support was in the works and now it is commited to cvs!

So, from now on you can start persisting array data to postgresql. Thanks very much to Jon Hanna for getting this work done.

Now, you can persist arrays and, as Jon said in previous post's comments: "Anything that implements IEnumerable<T> where T is a type already supported by npgsql will be treated the same as T[], anything that implements IEnumerable<U> where U implements IEnumerable<T> will be treated the same as T[,] (but cause an error if it's a "jagged" array, as postgres doesn't support them) and so on. In order to use it, just use an array or IEnumerable<T> as parameter value."

So, let the game begin!

Also, thanks to Michael Parshin for his help fixing bugs on array type support.

Thursday, January 31, 2008

Array support in the works!

Hi all,

Jon Hanna is working to add Array support to Npgsql. He already sent a patch which I applied to my working copy and it is working very well!

Now it is possible to write code like that:

NpgsqlConnection conn = new NpgsqlConnection("Server=;User id=npgsql_tests;password=npgsql_tests;");


NpgsqlCommand d = new NpgsqlCommand();

Int32[] a = new Int32[2];

a[0] = 4;
a[1] = 2;

NpgsqlCommand command = new NpgsqlCommand("select :arrayParam", conn);

command.Parameters.Add(new NpgsqlParameter("arrayParam", a));


And get this logged on server:

LOG: statement: select array['4','2']::int4[]

Also, Npgsql is able to receive an array from server as the example above shows. Npgsql will print to console:


Which shows it received an int32 array as expected!

Excellent work, Jon!

Wednesday, January 30, 2008

Parameters explicit typing support commited in cvs

Hi all!

Today I commited a patch (here, here, and here) to allow parameters explicit typing on plain queries.

What this means? This means that all parameters are sent to backend carrying its explicit type as specified by DbType and/or NpgsqlDbType enums. This will allow better typing matching between client and server. See here for Jon Hanna discussion about it. This explict typing isn't completely new. It was already being applied to function calling. We just decided to apply it to plain queries too.

Now queries are sent this way:

select * from tablea where field_serial = '4'::int4

where they were being sent as:

select * from tablea where field_serial = 4

This modification may lead to problems, as said in discussion above (end of first post), but we hope this can be easily fixed. Please, send your comments about it.

Please, grab a cvs copy of it and give it a try. We soon will be doing a new beta release which will contain this code.

Thanks Jon Hanna, Agrinei and Josh Cooley for discussion about this feature.