Sunday, August 29, 2010

De ce Firebird? Argumente pentru factorii decizionali

Check out this SlideShare Presentation: De ce Firebird?
Argumente pentru factorii decizionali

Firebird baza de date universală open source | Firebird General Ppt Ro | #MindTheBird

Check out this SlideShare Presentation:

Campania de lansare Firebird 2.5 Cum poți TU sprijini Firebird #MindTheBird: What Is Mind The Bird Ro

Check out this SlideShare Presentation: Campania de lansare Firebird 2.5 Cum poți TU sprijini Firebird www.MindTheBird.com

Saturday, August 28, 2010

The only database engine that is not Fucked is Firebird : with the rest you are really Fucked

and the question of the day "Having worked with Firebird, I must say it's indeed quite a good and reliable database.
However it has some weird defaults, like upper-casing all identifiers that are not quoted - takes some time to get used to."

and my answer


The SQL standard is doublefucked
The SQL:2008 and SQL-99 standards define databases to be case insensitive for identifiers unless they are quoted. Lower case characters may be used in identifiers and keywords, but are considered to be their upper case counterparts.
Another thing is the addition of two strings in any sane language not like php or sql the addition is + sign , in sql is ....|| and in php is . that is why they are pretty fucked languages I wonder who can change the standard ... Oracle ?

Installing #Firebird 2.5 #SuperClassic in #Debian #Sid

I needed to install the SuperClassic on my Debian netbook and it takes only two commands
# apt-get install firebird2.5-superclassic
# dpkg-reconfigure firebird2.5-superclassic


Next is to create a database in
/var/lib/firebird/2.5/data/test.fdb



with flamerobin
#apt-get install flamerobin
create table foobar
(
    foobar1 varchar (255),
    foobar2 varchar (255)
       
);

then you can select/insert from foobar

SELECT * 
FROM foobar

or press the + insert sign in the toolbar in the select window

dbus + xml sux : no player when i do have players in the background

mpris-remote
No MPRIS-compliant player found running while running the command over ssh -X
and from local machine it works without issues with qmmp

Howto Enable #mpris support in #qmmp | #debian #ubuntu #linux

Seems there is support for mpris mpris-remote - utility that controls an MPRIS-capable music player



I wanted http remote control but mpris should suffice for the moment over ssh 


I listen to the main borkstationX64 attached to the 5.1 system and i'm lazy moving all the time to change the songs 
so i need  a solution to change it from my netbook ...






git clone git://github.com/mackstann/mpris-remote.git

./mpris-remote 
[playing 5631/10835] @ 4:54/7:50 - #6
  artist: Metallica
  title: Am_I_Evil
  album: Garage_Inc_Disc_II
[repeat off] [random on] [loop on]
./mpris-remote next








cool stuff : there are amarok , foobar interfaces for qmmp in the works :P
why do i need ssh -X for mpris ? , maybe because of dbus ...
 mpris-remote
Traceback (most recent call last):
  File "/usr/bin/mpris-remote", line 104, in 
    bus = dbus.SessionBus()
  File "/usr/lib/pymodules/python2.6/dbus/_dbus.py", line 219, in __new__
    mainloop=mainloop)
  File "/usr/lib/pymodules/python2.6/dbus/_dbus.py", line 108, in __new__
    bus = BusConnection.__new__(subclass, bus_type, mainloop=mainloop)
  File "/usr/lib/pymodules/python2.6/dbus/bus.py", line 125, in __new__
    bus = cls._new_for_bus(address_or_type, mainloop=mainloop)
dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

tip: cp mpris-remote /usr/bin/mpris

Friday, August 27, 2010

Movies for weekend : Rock me #sexy #Jesus with Alien 1-4


Hamlet 1-2 

Rock me Sexy Jesus Rocks 



Nick and Norahs infinte playlist
Alien 1-4 I rather watch this movie than all the crap from 2010 
Beauty and the Beast 1-3 

compiling lwkhttpd issues with kernel 2.6.3x

I have found this interesting project kernel project based on khttpd
but when i tried to compile it got

module.c:14:26: error: linux/config.h: No such file or directory
changed config.h to autoconf.h

error: expected declaration specifiers or ‘...’ before ‘socketcall’

http://kerneltrap.org/node/7373


Starting around kernel 2.6.18, the _syscall macros were removed from header files supplied to user space. Use syscall(2) instead. (Some architectures, notably ia64, never provided the _syscall macros; on those architectures, syscall(2) was always required.)

So i need to dig deeper in the syscalls world

New digg : EpicFail Web 2.0 Redesign

It's sure bill's fault and seems that now i can't see what my friends are doing
just a fuzzy warm web 2.0 useless bloatware and with email notifications reenabled

No wonder people forget about digg and they use only reddit

#God hates #ipod in the book of Eli , jesus was born in San Francisco

product placement sometimes is stupid : in book of eli the hero can't live without his car battery and the juice for ipod

"The next morning, Eli wakes up and finds that his iPod is nearly out of power. The car battery rig he uses to charge it is almost out of power as well."

"As he continues his journey, his iPod runs out of juice."

it would make more sense that Eli would go to Israel not San Francisco
You know i had all the time this song in my head "if you go to san francisco" for the duration of the movie
Also from the movie it seems Shakespeare is more popular than the Bible that is why you have many Shakespeare books and NO Bible ! wtf moment : that doesn't compute I mean common the army should had saved some bibles/playboy magazine you know just for an apocalyptic end of the world

our hero is kinda of religious kunfu master with his apocalyptic-pod in the ears and with a big afro american knife and he is eating cats

the story and the scenario is quite weak and is quite booring to see an almost empty post apocalyptic world, heck i almost want to watch MadMAx

Thursday, August 26, 2010

It turns out that #JavaScript language is the VM of the internet

That is the quote of the day and it shows why Java is dead :
Everybody thought that the Java VM was going to be the VM of the internet, but it turns out that JavaScript language is the VM of the internet. People are writing in Java, and Python, and lots of other languages, and then translating it into JavaScript because JavaScript, for all of its security problems, actually has a much better security model than everybody else. The CLR has a terrible security policy, Java has a terrible security policy — JavaScript is better than everybody else.

Douglas Crockford — The State and Future of JavaScript

http://developer.yahoo.com/yui/theater/video.php?v=crockford-yuiconf2009-state

Oracle case against Google :Winners real open source databases like FirebirdSQL and PostgreSQL

My response and commentary related to this article

I get now more and more questions for tools to migrate
mysql databases to Firebird sql
and the site traffic for firebirdsql.org is growing at a higher rate than before check the alexa stats

http://www.alexa.com/siteinfo/firebirdsql.org

So i guess the real opensource databases are now in right position now and the only thing that can gurantees that will stay this way is the fundations behind , it's community type process like the bazaar and not a cathedral type like in the mysql and solaris case

So replacements for oracle poisonous projects

 Oracle DB -> FirebirdSQL , PostgreSQL
 Mysql -> FirebirdSQL , Postgresql
 BerkleyDB -> FirebirdSQL, Sqlite

 Java -> php , qt , ruby , python ...

Systemd From they guy who fucked your audio system and still does with #pulse audio . Yah unix sux

He presents you the new init systems that it will be by default in fedora 14
http://0pointer.de/blog/projects/systemd.html

If you wonder why is not in #ubuntu sthink again (bugs and other crap that it will introduce and it will not solve nothing like in the pulseaudio case introducing new problems)

Unix philosophy is stupid for the desktop why do i need the cupsd , postfix , anacron , and all stupid deamons (7 tty consoles) and 60 threads of console-kit-daemons on my small netbook ? and i didn't forgot the 7 or more layers of X.org with networking and all but that is so slow like a dog when starting and moving my windows
That is one of the weaknesses of Linux : xorg system : I don't need so many layers i need something fast
that starts in one second and after that it will start the printing , mail daemons as needed
kernel should wake up the cron daemon once a day or never if i use the laptop only for 10 hours a day and in the night is closed also it should wake up cups only when i push the print button in openoffice
and gdm/kdm/slim should start first and then the deamons in the desktop/laptop mode profile
I don't care if the maildaemon starts after a hour when i boot my system , in fact i don't really needed it on my laptop also i don't need any password and ring key (security should be optional) and i don't want a password when i configure my wireless and when i configure my printer or update the system
In fact i don't want a a password at all on my borkstation64 @ home

Wednesday, August 25, 2010

Prius in a an alternate Romanian Universe

I was talking with Dragos and Boti at lunch and i told them about this story on /. :
Toyota Adds External Speakers To Warn Pedestrians and we imagined some cool scenarios like adding the sound of Ferrari to your prius one day and then adding the voice that will tell you "Get away MoFo from my way" another concept would be to add augmented ireality recognition so if you see a biker then you can send him a message like "move on the left lane pls"
but in our romanian universe i think they would put Manele on the speakers or in the best case bmw engine sound on it.

Monday, August 23, 2010

Installing firebird python power console

If you want to install the Firebird power console here are some steps on Debian/Ubuntu machines
under ipython shell

ipython -p sh


1. Install setup
tools 

wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
tar -zxvf setuptools-0.6c11.tar.gz
cd setuptools-0.6c11
run setup.py install

2.install the power console

wget http://ibphoenix.cz/pwc/download/PowerConsole-0.7.5.tar.gz
tar -zxvf  PowerConsole-0.7.5.tar.gz
cd PowerConsole-0.7.5
run setup.py install

3.install the firebird pack

wget http://ibphoenix.cz/pwc/download/pwcfb-0.9.1.tar.gz
tar -zxvf pwcfb-0.9.1.tar.gz

cd pwcfb-0.9.1/
run setup.py install

4. if you get that kinterbasedb is not installed just do an (This is on Debian sid and is quite recent 3.3.0)
apt-get install python-kinterbasdb

ipwc
PowerConsole v0.7.5 [CLI version]
Python 2.6.6rc2 (r266rc2:84114, Aug 18 2010, 07:33:44) 
[GCC 4.4.5 20100816 (prerelease)] on linux2

Installed packages: pwcfb(0.9.1)

Type "help" for more information.

>>> help
To get help about specific topic, PowerConsole command
or Python object/function/expression, type help .

Simple PowerConsole commands:
=============================
connect  disconnect  help  list  ready  run  set  show

Miscellaneous help topics:
==========================
firebird  python  sql  terminator

>>> help firebird
TODO: Help for topic Firebird.
    
>>> help sql
Firebird package for PowerConsole should support all valid DSQL statements and
many ISQL commands as well (see Firebird documentation for details).

However, there are some exceptions and additions:
- SET TRANSACTION does not support table reservation options (yet).
- CREATE DATABASE and CONNECT support addtional optional argument (must be last one):
AS  that makes the Database object accessible under specified name instead
default alias "db".

>>>

>>> help connect
Attach to the Firebird database.

usage: 
CONNECT 'dsn or db' [HOST host][USER 'user'][PASSWORD 'password']
  [CACHE int ][ROLE 'role'][AS var][;]

If connection is sucessfuly established, this database connection is set
as main working database. Database object is stored and accessible under
default alias "db" or as alias specified by optional AS argument. If
alias name is already used for other attached database, this database is
disconnected.



Some of the examples are here
help connect
connect 'employee' user 'sysdba' password 'masterkey'
select * from country;
xshow procedures
xshow tables
list name,owner_name in db.tables
list name in (t for t in db.triggers if 'POST_EVENT' in t.source)
list name in (i for i in db.indices if i.unique)

One cool thing leads to another replacing #bash with #ipython , and #vim with #pyroom

I always wanted to switch forever from a bash type console to a python/ruby based one

and Ipython seems the best replacement shell in my opinion for bash



but he journey brings me to another cool edior , yes i hate VIM but i kinda like it's power but i still hate it's stupid not friendly user interface and so many hidden things
You need to grow a beard or something to get used to it
And i found The GLPython package provides an OpenGL terminal that lets you run an IPython console inside OpenGL.

wow that is cool , want to embed the ipython in a opengl interface (xonotic hud) and that made a click in my head


until i found pyroom on that page



Pyroom is a fullscreen editor written in Python and GTK featuring full screen multidocument text editor, small set of shortcuts, simple help page for shortcuts and different styles / colorsets available. More recent versions are available at http://pyroom.org

and that is very nice editor , full screen with text on the center and without annoying notifications from the system , similar with my way of running the terminal


Saturday, August 21, 2010

Howto:Building #php 5.3.x Firebird driver (php_interbase.dll) with #VC9

I have finished my guide to build the Firebird (2.5) driver for php 5.3
I have spend two weekends but the results are great now anyone can build and compile
Firebird 2.5 from source on any windows machine and anyone can build a driver for php 5.3.x and greater after that.
Rebuilding of Firebird 2.5 is not normally necesarry for normal mortals but is necesarry so that firebird driver to be included in the main build scripts and testing machines for php.net



ps: it's a tinny dll but it took some hours to make it work (~two weekends) and in that time i have created also the firebird 2.5 compilation movie on windows
How can you show me support ? you can donate for firebird fundation and that would make me happy (core developers will be happy and they will work to squish the bugs in the core and drivers but that doesn't meat that is the only contribution you can do: there are other ways : spread the word about firebird 2.5 release  , fix/triage some bugs , write some documentation  , blog about firebird ...)
also you can test and comment if there are any errors in the steps
ps: i will try to revive my mingw firebird compilation guide and i will add the php instructions too
I'm sorry that php core develpers are NOT using the very good mingw compiler and that they are using and persuading the usage of visual studio from ... Microsoft ...doh

Tuesday, August 17, 2010

New to #Ubuntu / #Linux ? start with the guides and the fine manuals

Start with ubuntu manual or the official ubuntu docs or debian docs

If the manual is not enough then there a nice shell guide where they learn you ancient unix commands in the terminal

What is next ? maybe some programming languages books like python or sql books if you are inclined to learn something new.

The next level would be drifting through the Linux manpages , this is what i did in my journey

At the end is nirvana learning the kernel internals and the source code (it's English slang and simple c) and can be tweaked at will and anyone can send patches upstream

ps: never ask why flash is slow on Windows , Linux , Mac : adobe bug she hates us "She's always hungry. She always needs to feed. She must eat."

Firebird 2.5 compliation with Visual Studio C++ 2008 (aka VC9.0) on Windows

Watch it here

http://vimeo.com/14190827



Firebird 2.5 compliation with Visual Studio C++ 2008 (aka VC9.0) on Windows from Marius Adrian Popa on Vimeo.


"Firebird 2.5 compliation with Visual Studio C++ 2008 (aka VC9.0) on Windows

1.Install the Visual Studio C++ 2008 Express .Skip the sql server install :)
http://www.microsoft.com/express/downloads/#Visual_Studio_2008_Express_Downloads


2.Download Firebird 2.5 source code RC3 Tar.bz2 .
http://firebirdsql.org/index.php?op=files&id=fb250_rc3
Open it and extract it with 7zip somewhere in C:\Firebird2.5_src

3.Download Sed from GnuWin I had to extract in c:\gnuwin32
http://gnuwin32.sourceforge.net/

4.Add gnuwin c:\gnuwin32\bin to the PATH envirnoment variable , test it from a new console if it works by typing sed it should show you something abut gnu sed help



5.Eliminate the fb2control from firebird2 solution if you are using Visual Studio EXpress (doesn't support MFC) and it's only the control pannel applet and try to build it , it should give you no errors when you build the solution.

6.From cmd in builds\src dir and run in order

make_icu

make_boot

make_all

If all is ok under output_Win32 you should have the bin folder include and lib

[HURRAY :) ]

ps: Video was done so that Firebird extension to be included into the next php release and it describe how to compile it on a windows machine
http://wiki.php.net/internals/windows/libs/firebird#building_php_interbase.dll_with_vc9

I have used the ie8 testing virtual machine for this video so the licence of the Windows machine is OK
psps: google sucks i couldn't upload there because is larger than 15 Minutes and i couldn't figure it out howto cut it with kdenlive , pitivi ...yet"

Sunday, August 15, 2010

Movies to watch , Dreams from last night

When Youre Strange A Film About The Doors 2010 (my favorite on to do list)
Vampires Suck (recommended)
and of course 
Twilight Eclipse (I saw that is at local cinema :Arta)


ps: last night i had a dream with Jim Morrison and he had something like 50 with wrinkles and all 
and he wanted to play an old song in the studio but the sound engineers put him someone with a voice on the tape and he was really angry because he really know how to sing his song 

anyway a strange dream , just because when i saw the movie 
The U.S. vs. John Lennon i was wandering how Jim would look at 40-50 years
and the John's fight with the state reminded me the Jim's fight with the state 
In both cases we know what happened 
The war is over , or it is ?




Why #ubuntu 64 bit not recommended for daily usage ? part two

if you think that 64 bit is not good for daily usage think again
some things like video decoding and encoding is faster even on atom based machines
and there is good reason because is so fast : the increased number of registers and
the registers are wider

http://x264dev.multimedia.cx/?p=499

As these benchmarks show, ffvp8 is clearly much faster than libvpx, particularly on 64-bit. It’s even faster by a large margin on Atom, despite the fact that we haven’t even begun optimizing for it. In many cases, ffvp8′s extra speed can make the difference between a video that plays and one that doesn’t, especially in modern browsers with software compositing engines taking up a lot of CPU time. Want to get faster playback of VP8 videos? The next versions of FFmpeg-based players, like VLC, will include ffvp8. Want to get faster playback of WebM in your browser? Lobby your browser developers to use ffvp8 instead of libvpx. I expect Chrome to switch first, as they already use libavcodec for most of their playback system.

Another thing is that all the apps are faster on 64bit than on 32bit and i can sense that speed
you know like when you overclock you cpu to gain something like 10% more in FPS
There is a feeling that system is faster on 64bit than on 32bit (more responsive)
Forget about flash , flash is slow on all systems be it quad or six core monsters
anyway is working without many issues on 64bit systems , So why the fark ubuntu is recomending
a slow operating system ?

http://tuxradar.com/content/ubuntu-904-32-bit-vs-64-bit-benchmarks

At this point, using a 64-bit distro is rather like enabling hyperthreading on your CPU - you get a free performance boost for your PC, and if that means you can put off upgrading it for another six months then it's an easy win. As we said earlier, it's a nice bonus. Sure, 5-10% isn't a lot, but when it's across your whole desktop and comes at no cost, why not?

Saturday, August 14, 2010

building #arora-browser stable + latest stable sdk for #qt on #windows

1.install qt sdk (latest stable)
2.install arora src and extract it
3.open it with qt creator 


arora build solution and it will give the  error mingwm10.dll not found 



i did a little googling and found the solution 




If you install QT on windows via 
the install executable  it creates a shortcut 
in the start menu that is called "QT 4.X.X Command Prompt" that is a 
call to your $ $COMSPEC (cmd.exe most likely) calling qtvars.bat which 
sets up you env for you. 


But it still crashed both the console and arora application

 i have openned the src.pro soulution and rebuilded
and  i write this from it :) 



What is next : building as static exe and eliminate the cmd.exe
console from mingw


Life is good after #Oracle , see you in 10 years

OpenSolaris is dead kudos to Linux type fundations like debian , fedora ...(see the distrowatch to see the enemies of Solaris)
MySQL is dead kudos to the Firebird and Postgresql real open source fundations. No one that sane will ever touch mysql source code that will come from oracle . See the java patent patern from bellow.
Java is dead and replaced by native and scripting languages , I see google opening the native code floodgates
and maybe entering meego fundation and this way who knows in the future we will see a QT based  android
There is is already a port of QT to android called android lighthouse
http://code.google.com/p/android-lighthouse/
and read the Qt on Android - the Bogdan Vatra interview

And you can watch some really interesting demos for qt on android , it really works well
http://taipan.blip.tv/

LightHouse is a project to make porting Qt easy. Essentially, you just need to create a plugin which moves your content to the screen of the device. In my case, I did that and ported the shared memory concept and semaphore model -> done.


with better speed :C++ is always faster than any interpreted code (You read this with an C++ browser and NOT with a java based one). And already i see they push the scripting languages like python and ruby and php and javascript . You can build a real apk now with full power of scripting languges inside. May the lua force be with you .Mono is nice but there is another enemy at the gates: Microsoft and they do have a lot of patents on their war chest

Also community reacts and people leave the oracle's open source projects

I can't continue to contribute to a project sponsored by a company that use an Open Source language to monetize the patents portfolio they got from the acquisition of another company. I will feel like I'm paying money to SCO to have the right to use Linux... Yeah, I'll feel that bad.
So, I choose to leave the team instead of going against my convictions.


Take a look at the map yes Firebird and Postgres is fighting a strong war against Microsoft and Oracle (there are Billions there in the middle )

Map should be updated with mysql code split inside of the oracle and some of it outside somewhere in the ubuntu's launchpad



Interesting that the browser war is a lost cause for microsoft , you can't do anything against webkit period
and to add salt to the injury you can't do anything against firefox
The same with open source databases you can't do anything against them it's lost war
Ahh and by the way SCO is dead , nginx is getting web market share and the army of IPhones and Androids
killed everything microsoft had put on the table in the mobile area : Do you want a Kin anyone
I'm wet after Android and nokia but i will never use a Windows based mobile phone .

http://www.theinquirer.net/inquirer/news/1602970/microsoft-won-t-dominating-os


Gartner's study shows Android to be the fastest growing mobile smartphone operating system (OS) in the second quarter .Android overtook Apple’s iPhone OS to become the third-most-popular OS in the world  As has been confirmed by several other reports, the Linux-based Android overtook RIM’s BlackBerry OS to become the top selling smartphone OS in the U.S.,

http://www.linuxfordevices.com/c/a/News/Gartner-2Q-report-and-AndroidLinux-fork/

Friday, August 13, 2010

network driver issues with #ie8 testing #windowsxp machine in #virtualbox

I compile both the firebird 2.5 and the php5.3.x snapshots for windows , no i don't use it at all but i needed to make the driver for firebird on windows machines for lazy people who don't know how to use virtualbox or install ubuntu on a separate partition

I couldn't find the amd driver on amd.com site , i really tried so instead i had to install
and choose the intel driver pro 1000 mt for my virtual box setup


Download the driver for intel board and windows xp in my case prowin32.exe

create the iso

genisoimage -o intel.iso ../../Desktop/PROWin32.exe
I: -input-charset not specified, using utf-8 (detected in locale settings)
37.41% done, estimate finish Fri Aug 13 21:35:53 2010
74.88% done, estimate finish Fri Aug 13 21:35:53 2010
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
13365 extents written (26 MB)

then mount it inside the virtualbox and then run the setup from there
after that the nework is up and i can continue to download the sdk from windows and from qt

Counting ip addresses with #lua #mod_security and #Firebird

I will use lua and mod_security to log some ip or content activity to firebird database
also we can show them in real time if we want to (selecting the last 10 visits for example)

The basic architecture is depicted in the following diagram



I count the ip addresses for one url and if it reaches certain threshold then i will trigger
an action (iptables) or deny access directly from lua (mod_sec rule)

I have a basic simple select example for lua and firebird database just to get a idea how it will look and how easy is to write one, also is good to test if lua + firebird installation is ok



First i have created a Security Rule Script in lua

java script won the war ? or java/c++ sux

that is quote of the day

At the USENIX annual conference last month, Gmail engineer Adam de Boor surprised the audience by noting that the company's Gmail service was written entirely in JavaScript, and that all of its code, around 443,000 lines worth, was written by hand.

http://www.infoworld.com/d/developer-world/google-executive-frustrated-java-c-complexity-375

i think it doesn't matter in what you write , scaling is not a mater of language design but a architecture problem the way you make the application scale to thousands of servers

languages designed only for that task don't work , in fact any general purpose languge can scale be it c++ or freepascal or if you really want nodejs or gluescript combination
all it takes is doing the design with on a clean sheet

here is one cool demo with nodejs http://jeffkreeftmeijer.com/2010/experimenting-with-node-js/

Wednesday, August 11, 2010

generating visitors stats with visitors and uzing gzip-ed logs

tip of the day using visitors stats

zcat /var/log/apache2/firebirdsqlro_access.log.*.gz | visitors - >stats.html
--
50345 lines processed in 2 seconds
0 invalid lines, 0 blacklisted referers


http://firebirdsql.ro/images/stats.html


I like the piwik stats interface and seems that is using html canvas instead of flash

http://piwik.org/

Friday, August 06, 2010

Movies for weekend

The Rocker



The Condemned



Mallrats

http://www.youtube.com/watch?v=_eVo7aBze1w


Clerks II

Wednesday, August 04, 2010

PHP 5.3 tests and why mysqlnd is useless

seems that mysql "new driver" for php is slower than the old one

http://brian.moonspot.net/php-5-3-mysqlnd

and is stupid that ORM people they overuse the fetch_all method they should filter the pages from views and stored procedures and not to fetch all the millions of records in objects and then to do the sorting and filtering

Tuesday, August 03, 2010

I am going to FLOSSCamp 2010

I will quote Marius Voila


I can’t miss FLOSSCamp, it has become a tradition and everybody will be there. It will happen at Poiana Secuilor, near Predeal.
If you don’t know what is a FLOSSCamp for us, here is a description: an offline meeting for FLOSS contributors from all Romania, no matter their project affiliation, where we spend a week-end in the middle of the nature, with talks, distro-wars, camp fire, beer, grilled food, fun time and so on (a flamewar is so much better face to have with a beer in hand…).

FLOSSCamp 2010

Monday, August 02, 2010

On #debian : shortcutting circular dependencies in apt or forcing them

I wonder if is possible to detect and shortcut the circular dependencies in apt tree , the kind of shortcut we have in sql for some joins (i don't remember the post exactly)

http://people.skolelinux.org/pere/blog/Circular_package_dependencies_harms_apt_recovery.html

Monday, July 26, 2010

Firebird legacy : stable core and api

What most of the people want these days from a RDBMS is a stable core and stable api


When i was at Firebird conference one of the people shocked me because he told me his is happy
with firebird on a single machine , these days we admins see the number of servers increasing from 10 to hundreds and then thousands so they are not big numbers for us but when i see a simple machine i'm shocked :all in only one machine ? yes the majority of Firebird ursers are simple developers and only the niche needs 10.000 machines : yah big shock ;)
but that doesn't mean we should stop at only one machine or at thousands
the big jump is from one machine to 2 or 4 the rest is simple

That was about my rant about the stable core and simple stupid machines and this is what perl community found it too:

Most of the feedback I get from companies is that they want existing
things to just work, including core and CPAN modules. Most places I
visit aren't using most of the Perl features available to them, so new
features aren't very interesting, especially when they are stuck on
older versions of perl anyway.


the rant about the stable api is that firebird api is set in stone and doesn't change much with years, there are some quirks but is like posix there to stay forever : with bugs and all the animals
Here what firebird/interbase revolution did to the world: stable api for perl aka dbi
If you use perl and mysql/oracle you should thank to firebird/interbase first

Tuesday, July 20, 2010

Error: bad register name %sil

while compiling linux kernel 0.0.1 on lucid lynx or debian sid with gcc 4.4.4 i've got this error message
http://portabilityblog.com/blog/archives/11-Bad-register-name-dil-or-sil.html

how i fixed in asm/segment.h ? i have changed the registers used in function from "r" to "q"
so i limit the register usage only for general ones EAX, EBX, ECX and EDX

extern inline void put_fs_byte(char val,char *addr)
{
__asm__ ("movb %0,%%fs:%1"::"q" (val),"m" (*addr));
}

what is the next error ?


ld -s -x -M -Ttext 0 -e startup_32 boot/head.o init/main.o \
kernel/kernel.o mm/mm.o fs/fs.o \
lib/lib.a \
-o tools/system > System.map
kernel/kernel.o: In function `scrup':
console.c:(.text+0x1ea4): undefined reference to `columns'
console.c:(.text+0x1f6c): undefined reference to `columns'
kernel/kernel.o: In function `scrdown':
console.c:(.text+0x1fc5): undefined reference to `columns'

Hungary rejects IMF and maybe is a good idea

In Hungary they did it right and rejected the economy control

Here is what happened in Romania : we have now new increased VAT taxes and we do "enjoy" the IMF control
over our economy : we are totally fucked up ,the price for beer and cigarettes is increased and now everyone is looking on how to cut all the expenses ,no one is buying like before and the result : frozen and survival type economy , nobody borrows money from banks because the loans rates are increasing
...and so on

Mugur Isarescu (BNR chief) opposed the TVA increasing measure and i think we should rise a statue for him and he knows a thing or two about the Romanian economy

and yes the government cut wrong budgets and usually from weak economic zones : health, education ...etc
but continuing spending money on Microsoft licences (Siveco) and buying expensive cars like before (I want to see one one minister on bicycle, just once just one time , seriously)

ps:now they realized that VAT increases did a horrible thing for economy and all they see is how to cut expenses in short term but not aware with long term results
and all in the name of next elections

Wednesday, July 14, 2010

Compiling lazarus with qt interface on debian/ubuntu

install libQt4Pas library

I have installed it on debian sid with

apt-get install libqt4pas-dev libqt4pas5

check if is installed with

ldconfig -p | grep libQt4Pas
libQt4Pas.so.5 (libc6) => /usr/lib/libQt4Pas.so.5
libQt4Pas.so (libc6) => /usr/lib/libQt4Pas.so


checkout the lazarus source code from svn
svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus
cd lazarus
make PREFIX=/opt/lazarus clean all LCL_PLATFORM=qt
make install
or ./lazarus

check the qt string in the about box


What is the next step : configure the lcl include paths to use the new dirs
and adding the sql components

Tuesday, June 22, 2010

#quake #sdl on #haikuos

wget http://www.libsdl.org/projects/quake/data/quakesw-1.0.6.tar.gz
wget http://www.libsdl.org/projects/quake/src/sdlquake-1.0.9.tar.gz

tar -x --strip-components=1 -f sdlquake-1.0.9.tar.gz
tar -x -f quakesw-1.0.6.tar.gz

wget http://gist.github.com/raw/448637/e43f70ff6e6e7bbdac1a26b4b0886d162a1ab7a2/sys_sdl.patch

wget http://gist.github.com/raw/448609/d077f11f4cb72e0044773bda2ce1a921389f508d/net_udp.patch

http://gist.github.com/raw/448637/e43f70ff6e6e7bbdac1a26b4b0886d162a1ab7a2/net_dgrm.patch

patch -p1 < sys_sdl.patch
patch -p1 < net_dgrm.patch
patch -p1 < sys_sdl.patch

./configure --host=i686-beos

or you can enable asm optimizations too if you want so

./configure --host=i686-beos --enable-asm

make

./sdlquake


Bellow is why i needed the patches and what they do

first i had this error
sys_sdl.c:16:21: error: sys/shm.h: No such file or directory

deleted the line with

#include sys/shm.h





I have reviewed the udp patches from native client to disable udp related communication







My next patches will be the ones with audio to make it usable and also the network should be reenabled somehow 

Question on #HaikuOs: why are my Alt and Control keys switched in functionality?

Answer is from #haiku irc channel archive ~ [21:22:22] :
MacOS heritage.. inspect a classic and modern Mac keyboard
Command keys where Alt is usually found on a PC keyb
BeOS keymap emulated a Mac keyboard using a PC keyboard
you can switch them if you prefer Ctrl as your shortcut key:
preferences/keymap there's a big button

Sunday, June 20, 2010

Firebird Database Porting progress on haikuos

Firebird Database Porting progress on haikuos

I have defined the platform first to be linux but there are big issues there so next one that i copy pasted is from NetBSD in configure.in


  *-*-haiku*)
    MAKEFILE_PREFIX=netbsd
    PLATFORM=NETBSD
    AC_DEFINE(NETBSD, 1, [Define this if OS is Haiku])
    EDITLINE_FLG=N
    SHRLIB_EXT=so
    ;;


There there are some issues with the ntpl ( posix with pthread but without ntpl ) this is why o get undefined reference to `___tls_get_addr'

/*Thread bug on haiku os */
#undef HAVE___THREAD


next thing that is missing
sys/shm.h

POSIX specification: http://www.opengroup.org/susv3xbd/sys/shm.h.html

Portability problems not fixed by Gnulib:This header file is missing on some platforms: mingw, BeOS.


g++ -I../src/include/gen -I../src/include -I../src/vulcan -DNAMESPACE=Vulcan -O -fno-builtin -DNDEBUG -pipe -MMD -fPIC  -DBOOT_BUILD  -c ../src/jrd/os/posix/isc_ipc.cpp -o ../temp/boot/jrd/isc_ipc.o
../src/jrd/os/posix/isc_ipc.cpp:94: error: 'siginfo_t' has not been declared
../src/jrd/os/posix/isc_ipc.cpp:127: error: 'siginfo_t' has not been declared
../src/jrd/os/posix/isc_ipc.cpp: In function 'bool isc_signal2(int, void (*)(), void*, ULONG)':
../src/jrd/os/posix/isc_ipc.cpp:186: error: 'struct sigaction' has no member named 'sa_sigaction'
../src/jrd/os/posix/isc_ipc.cpp:187: error: 'SA_SIGINFO' was not declared in this scope
../src/jrd/os/posix/isc_ipc.cpp:193: error: 'struct sigaction' has no member named 'sa_sigaction'
../src/jrd/os/posix/isc_ipc.cpp:199: error: 'struct sigaction' has no member named 'sa_sigaction'
../src/jrd/os/posix/isc_ipc.cpp: At global scope:
../src/jrd/os/posix/isc_ipc.cpp:347: error: 'siginfo_t' has not been declared


so i might need to study more about it

System calls from a user program are made in the traditional UNIX way of trapping into the kernel and then jumping to the real code. Since the only way a user program can get into the kernel is via a trap, our kernel is more robust because an errant or malicious program can't just jump into random kernel code and cause damage. The overhead to make a simple system call is quite low, coming in at just over three microseconds.

The mechanism for IPC in UNIX is traditionally through a pipe or the System V shared memory and message routines. The main mechanism for IPC under the Be OS is through named message ports that have a queue for incoming messages. Be message ports are unidirectional, and the incoming queue is limited in size to prevent run-away processes from gobbling all of system memory. We also support shared memory through the create_area() and clone_area() system calls, which allow one process to create an area and another to obtain a mapping to that area. The higher-level library code uses both message ports and shared memory to enable communication between threads in different teams.

Friday, June 18, 2010

Tips for building #qt 4.7 and #AroraBrowser on #HaikuOs

Install qt 4.5 (needed for qmake and other devel tools)
then checkout qt 4.7 from gitoriuous
and configure it without phonon , without inconv (it crashes otherwise) and other crap like qt3support (you don't need it)
I wonder if i need to enable qt png

git clone git://gitorious.org/+qt-haiku/qt/qt-haiku-port.git

cd qt-haiku-port


~/qt-haiku-port> configure --prefix-install=no -no-pch -debug -opensource -confirm-license -no-largefile -qt-libjpeg -qt-libtiff -qt-libmng -qt-gif -no-qt3support -no-opengl -no-phonon -no-phonon-backend -optimized-qmake -fast -nomake examples -nomake demos -no-iconv -no-svg -no-ipv6 -no-ipv6ifname -no-multimedia





make
make install

then the same for
arora browser

git clone git://github.com/Arora/arora.git


cd arora 
qmake 
make 
 ./arora 







Wednesday, June 16, 2010

rails on haiku os

install ruby 1.9 with haikuporter

haikuporter -i ruby


gem update --system
gem install rails


rails foobar

cd foobar

StyledEdit ./script/server

replace the first line with

#!/boot/common/bin/ruby

./server
=> Booting WEBrick
=> Rails 2.3.8 application starting on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-06-16 19:09:09] INFO WEBrick 1.3.1
[2010-06-16 19:09:09] INFO ruby 1.9.1 (2009-07-16) [i586-haiku]
[2010-06-16 19:09:09] INFO WEBrick::HTTPServer#start: pid=129249 port=3000




























sqlite doesn't load of course


strace is very nice on haiku

try with strace ruby


Monday, June 14, 2010

PHP Fragment Cache - an introduction

I love this quote from the following article (see at the bottom part)

"Treat every optimization task as if John Miles has just written to inform you that he’s made it faster than your wildest dreams, and you’ll be amazed at what you can do!"


So if web caching is not an option, what is the next best thing? To cache parts of the page, put them together, and serve that. You can use a caching tool for this, like Memcached. There's only one catch: the cached content may need to change when any of the things it depends on changes: data, code, user input, and the like. You can pass an expiration time when you add your content to Memcache. This will cause your cache to live only a certain amount of time and then expire. Nice, but we can do better.


This article will introduce you to that powerful new form of website speed optimization called Fragment Caching. It builds upon ideas used elsewhere to make the technique even more powerful. A PHP implementation is available for download.

Tips for building Arora / Qt on Haiku OS

Install latest qt for haiku from http://qt-haiku.ru/index.php?option=com_rokdownloads&view=file&Itemid=60&id=65:qt-4-5 then set the gcc version to 4


git clone git://github.com/Arora/arora.git
cd arora
setgcc gcc4
check to be 4

g++ -v
then

make -j2

./arora

seems there are some issues with png files on haiku alpha2 and with
gmail logging but i will install qt 4.7 from git and rebuild arora

libpng warning: Incompatible libpng version in application and library
libpng warning: Application was compiled with png.h from libpng-1.2.40
libpng warning: Application is running with png.c from libpng-1.4.1

Sunday, June 06, 2010

playing ogg with SDL and freepascal

I have found this example for playing wav/ogg with sdl mixer using the pascal language

on ubuntu debian all you need is fpc/lazarus and then
install libsdl1.2-dev headers and shared library

sudo apt-get install libsdl1.2-dev
also you need the mixer


sudo apt-get install libsdl-mixer1.2-dev


wget http://www.freepascal-meets-sdl.net/seiten/kapitel/kap7/chap7.pas

fpc chap7.pas

also you need the samples
In my mind.ogg and dial.wav

./chap7

some new errors with karmic install under virtualbox 3.2.0 (debian sid 32/64)

I have noticed that there are some errors with the ubuntu install process under virtualbox , be it if is on 32 bit debian or 64 bit ones the errors are the same if you do the live cd and then install, I have reproduced the bug on 2 sid machines already , and the progress bar goes over 125%

Friday, June 04, 2010

Firebird saga continues What community did without the need for Interbase name and Inprise help

yes is that time when you start digging the Firebird/Interbase history and find the old building tips and source code overview and the battle between community and the corporate brainless drones aka : Inprise at that time : Read InterBase Saga Continues article to see how short minded they were by retreating in the Closed Source Cave

Here is how it was the situation in A.D. 2001


At this time, although the latest source code and CVS tree have been released, some key pieces are still being held by Inprise. These include:



  1. release notes

  2. build instructions and makefiles

  3. build documentation including known bugs list.

  4. the testing suite

  5. the InterBase name

A key issue for the community is the ownership of the documentation. Inprise is the copyright holder to the original documentation, But ISC had commissioned an outside company to update the documentation in anticipation of being transferred the copyright. According to Paul Beach, who was appointed VP of sales and Marketing at ISC, the new documentation is not 'derivative' enough (over 30% different) to allow them to release the new version without violating Inprise's copyright.

Well i will start with bottom up what community did all these years 2000 -> 201x
5. Interbase name : Firebird name is better than InterBase name and Firefox name
4. Testing suite : Is better than original and is written in Python , easier to parse and write for the brain
3. Building is easy these days and is packaged for major linux distros and compilers g++, vc++
2. On my linux i just type ./configure ; make ; make install so all is done for posix systems , win32/64 ok ok we don't have an HaikuOS port but that is easy :)
1. Release Notes : We have plenty

So in the end community filled all the missing gaps and it will finish the All the documentation too , It was a strategic mistake to ignore the community and the power of open source

Wednesday, June 02, 2010

Rails tip : joins without associations between models

seems that is possible to create complex joins with no associations between models
first i have tried to use the table name in the :joins/:include parameters area (see the Eager loading of associations in Active Record doc)

conditions[:joins] = "comments"

but doesn't work if there is no association between the model and even if is trough another table/model it doesn't work like i expected
so the solution is to add another join expression in the conditions arguments

conditions[:joins] = "LEFT JOIN comments ON comments.post_id = id"

and then you can filter on comments content or id

conditions[:conditions] ="comments.id=#{some_comment_id}"

then filter the model and use the results

Blog.all conditions

ubuntu 64 Not recommended for daily desktop usage ?

Common get real , i use ubuntu 64 on the desktop from the first version
and that was the main reason i installed it on the athlon64 box instead of debian at that time (there was no almost stable 64 bit installer or live cd with installer option)
I think the page should encourage 64 bit users not avoiding them , also i think the Windows Installer is NOT stable and usable
try to do some kernel upgrades and you will see the results.
In Fact 64 bit version is faster than the 32 bit one

Monday, May 24, 2010

hey stupid it's the sql and is better when it's free like free s_x

google allows you to use sql now but only for enterprise
you know you can build a simple machine with firebird sql and deploy it on amazon ec2
or in your private cloud for free , in fact you can build an infinity of machines and use a better framework than the one from google and i talk about django and you don't need their restrictions
ahh and for the java is the same , use tomcat (jruby) -> firebird + s3 and seems that is better for the long term than what google allows you for a premium price

Friday, May 21, 2010

When frameworks do fail use sexy sql

Imagine this scenario : is x AM in the morning your preferred framework model is starting to fail (Ruby On Snails )
Active Record model stinks when you start using multi monster joins so you got to stick with the old sql skills
something like ActiveRecord::Base.connection.select_all("select id from restaurants order by popularity limit 100")



and this will help even when at the same time when heroku rake db:migrate fails
what to do ?
$heroku console 
and start writing sexy sql statements like
>> ActiveRecord::Base.connection.select_all("ALTER TABLE xxx ADD COLUMN xxx_id integer")
>> ActiveRecord::Base.connection.select_all("select xxx_id from xxx order by xxx_id limit 100")

Tuesday, May 18, 2010

A weekend with Active Record and _why ruby guide

This weekend was dedicated to ruby and to other activities but specially in the programming field it was all about _Why guide (I have finished chapter 3 ) and A Guide to Active Record and if you really want some really cool hacks in firebird sql here is the XML Generator – Stored Procedure for Firebird (Portuguese)and that made me think why we don't have asXML/asJson in the Firebird engine directly ?
-Maybe because in Delphi we had asXML with no real work to be done on the engine part

Friday, May 14, 2010

Day 2 on Debian - Revenge of the Squeeze on eeePC 1005p

in day two i have installed debian with usb image on eeepc
first i tried to use the lxde eeepc image but the kernel was a little bit older and it
wasn't recognized so i found that the best way is to install squeeze on it
and wireless works without issues and without the ndiswrapper! like is on ubuntu but i don't use encryption at home, only the trackpad does't quite respond to double click but i will find a solution to that
also the installer asked me the ESSID for the network while installing it over the wireless network it didn't detected the networks from around
Here is the obligatory screen shot and of course i will be evil and upgrade to sid . It doesn't look to bad isn't it ? and gnome is not so butchered by ubuntu people , yes it does come with epihphany browser and iceweasel

Thursday, May 13, 2010

Firebird documentation building (html/pdf) howto on Ubuntu Lucid Lynx or Debian

I always need to remember howto build the firebird documentation on my ubuntu/debian machines so i decided to
write a minihowto inspired by the great document Getting and building the Firebird manual module

mkdir firebird_doc
cd firebird_doc/
export CVS_RSH=ssh
cvs -z3 -d:ext:mapopa@firebird.cvs.sourceforge.net:/cvsroot/firebird co -P manual
cd manual

or you can checkout anonymous mode from sourceforge's cvs repository
cd lib/
cat _readme_libs.txt
wget http://www.firebirdsql.org/doclibs/ALLJARS.ZIP
unzip ALLJARS.ZIP
cd ..
cd tools
cat _readme_tools.txt

wget http://www.firebirdsql.org/doctools/docbook-dtd.zip
wget http://www.firebirdsql.org/doctools/docbook-stylesheets.zip
unzip docbook-dtd.zip
unzip docbook-stylesheets.zip
cd ..
Install jdk

sudo apt-get install openjdk-7-jdk

On debian is in non-free repository and must be added to apt/sources.list

Check the jdk content
dpkg -L openjdk-7-jdk
on Ubuntu
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/
on Debian sid (unstable)
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/


cd src/build
./build.sh html
./build.sh pdf
At this point you should add some nice rendered documentation in pdf or html format

cd ../../dist/html/

google-chrome ./index.html

there are some interesting files that are not yet on the main website so is good to dig around
something like isql-fb manual or the vpn guide


Lxdebian is not for average people - Day one of pain

first nvidia proprietary drivers must be installed manually and then
if you get some errors with the debian way (i have tried to compile / use the nvidia driver that comes in testing) then the alternative is to upgrade to unstable "which contains the current drivers series" so you better replace in apt/sources.list the testing/squeeze word with unstable or sid like this


and
apt-get update
apt-get dist-upgrade

you can read more instructions on nvidia/debian wiki page.

Also i had some errors about the GTK+ icon set in squeeze and lxde setup but i hope they will disappear after squeeze -> sid upgrade


ps:what is wrong in debian by default?

1.exim by default
2.portmap, rpc.statd are started by default they should be removed by default
3.openoffice by default in lxde install image
that is huge i think some packages and themes from lubuntu should be added by default
like gnumeric, chromium ,abiword , pidgin but please avoid the bloatware like openoracleoffice
4.why i'm not in the list of sudoers by default? , also i don't need to know my root password if i create a admin type of user anyway

Debian LXDE and faster systems - Yes i'm switching all my desktops to Debian x64 - Sorry Ubuntu your marketing failed

For simpler systems there is a special CD with LXDE as desktop environment, download the one for your system architecture for me is x86-64 on All systems (I wonder why the frack ubuntu gives you 32 bit version by default when you download the iso , 32 bit is legacy and 64 bit should be considered mainstream and for server is stupid to have 32 bit version)
Before the installation starts choose lxde instead of xfce from the install menu
ps:xfce/lxde on debian it's a little bit faster than what it's inside xubuntu 
my reasons are that i want to become a debian developer to help the firebird packages and fixing bugs there this is why i need to use debian unstable/experimental 
also i'm contemplating arch linux and haiku when i will have enough time 

Sunday, May 09, 2010

Installing the latest ruby on rails on any ubuntu :lynx,karmic ....

I needed to have the latest rails on my ubuntu desktop : lucid lynx (the one that is by default in repository is too old)

and this command will not work on any debian based system because it's disabled and
it will break the debian way
sudo gem update --system
anyway you can update and the replace the gem installed on the system this way
sudo gem install rubygems-update
sudo update_rubygems

if it's not in the path (I wonder why is not there by default when the gem package is installed)
you can do this
sudo  /var/lib/gems/1.8/bin/update_rubygems 
RubyGems 1.3.6 installed

=== 1.3.6 / 2010-02-17
changelog and notices
--------------------------------

RubyGems installed the following executables:
 /usr/bin/gem1.8


then you can install the latest stable rails
sudo gem install rails

Installing jaws #php #cms on #ubuntu lucid and #firebird backend

This is tutorial on how to install  jaws-cms on ubuntu and with firebird 2.1 backend
cd /var/www
sudo wget http://bits.jaws-project.com/releases/jaws-0.8.13/jaws-complete-0.8.13.tar.gz
sudo tar -zxvf jaws-complete-0.8.13.tar.gz
sudo mv html jaws

sudo chmod -R g+rw jaws
sudo chown -R www-data.www-data jaws
create an new database with flamerobin /var/lib/firebird/2.1/data/jaws.fdb

create a symlink , seems that if you put only jaws.fdb in the database field
then it needs to be located in jaws/data
cd /var/www/jaws/data
ln -s  /var/lib/firebird/2.1/data/jaws.fdb











start the installer http://localhost/jaws/install/
fill in the username for database and password
at database put jaws.fdb
Some screenshots created during the install process

All requirements are OK check the green results field
Also for php gd i had to install it this way
sudo apt-get install php5-gd
and for firebird php driver
check if is installed with
sudo apt-get install php5-interbase
and then restart the apache server so that php driver to be really loaded after install
sudo /etc/init.d/apache2 restart












and here is the administration area that you can access with
http://localhost/jaws/admin














If you play with the gadgets and add them to the Layout area in a few seconds you have a blog, rss feed (i have added firebirdnews rss feed) and visitor count and then a search box
So a community style of site can be created in a few steps and it's very easy to start it

Friday, May 07, 2010

Transforming old interbase 6.0 docs from pdf to html using htmltopdf from ubuntu

wget http://www.ibphoenix.com/downloads/60LangRef.zip
unzip 60LangRef.zip
Archive:  60LangRef.zip
  inflating: LANGREF.PDF  

simple transformation with weird chars for quotes is done this way

pdftohtml LANGREF.PDF
then there is a LANGREF.html file

So i had to add the encoding type to be UTF-8
pdftohtml -noframes -enc UTF-8 LANGREF.PDF

you can see the results on this page
http://firebirdsql.ro/images/LANGREF.html


the interesting thing is -xml output
pdftohtml -noframes -xml LANGREF.PDF

with LANGREF.xml file as output

So in theory we can have simple interbase 6.0/ pre firebird 1.0 docbook document with language reference

Thursday, May 06, 2010

Firebird after 10 years - What a long trip, Long road ahead

For me it bring me tears when i read the old news from 2000 when interbase 6.0 was open sourced and later named Firebird [SQL]. Yes i read the old firebird related news from ibphoenix.
When it was open sourced there was no simple way to do on a linux system this style of building it :./configure make make install , it was weird and the code it was undocumented and weird
old weird c style with cruft from vax era and with limits from the same time , look now
on any linux system and any cpu firebird is build-able and is stable with no major crashes , ok ok there are some bugs but is usable on all platforms : macosx , windows32/64 and all linuxes and unixes (bsd) and you can do anything with it. Yes it's a major step to be easily to compile and to be available on all platforms. 10 Years ago build scripts were missing !! and they asked for something like 10M $ for them and for documentation source ! . This is why Firebird documentation is Achilles point and i think in the future we will replace the interbase 6.0 PDFs ! with something that is DocBook and that is opensource , Or maybe Embarcadero will donate the ib6.0 documentation under an OpenSource License , Who knows...? but the key is we need documentation that is easily searchable and in one place like on Postgresql guys and like on Mysql website
at least i can do an ib6.0 doc import from pdf to html and then publish them on another site like abandonware and include all the good changes made over the years to it fb1.0 fb.1.5 fb 2.0 fb2.1 fb 2.5 ....
Ahh and there is the website too old look : we know that something better will come so stay close to firebird community and you can support it by joining Firebird 2.5 Launch Campaign http://mindthebird.com/

ps: at first i couldn't understand anything about Firebird 1.0 C source code but these days
the code is in better shape and there are many documents that appeared on the webside or they are in the works : Wire Protocol , OnDisk Structure , Firebird Internals ...
So I think with great Past, Great future is laying ahead and we have good Architects and great core coders