My only gripes with KUbuntu Linux
I recently changed my GNU/Linux distribution from
Mandriva to
KUbuntu. I am a
KDE fan and was growing increasingly annoyed with how slowly
Mandriva(Mandrake) has been updating its versions.
I have been completely over joyed with
KUbuntu since installation. It works flawlessly, and it even picks up on my thumb drive, something Mandrake has had a problem of doing in the last couple of releases.
Just this last week, I have found my first couple of complaints about
KUbuntu. These are minor points and were some what easily rectified on my end.
I began to play with Ruby on Rails and, with the latest version of Rails they require the final release of Ruby 1.8.2 or higher.
KUbuntu ships with the a version that was released just before the final so, (the latest version of) Rails didn't work out of the box. After rebuilding Ruby, and gems from scratch, I was on my way. The upcoming Breezy release will take care of this little problem.
The more annoying problem, and I say annoying because I wasted a lot of time on a new project that I have become a part of, is that the
MySql version 4.0.23 with
KUbuntu is configured to
skip-innodb by default. I didn't catch this and spent some time going over unit tests that were changing values in a database, testing the values, and then rolling back all changes in the
tearDown() method. Of course, since my
MySQL configuration wasn't allowing
innoDB tables, the rollbacks were not occurring and subsequent tests would fail.
I finally wised up and looked at the test db creation script and noticed that data was persisting when it shouldn't have. After commenting out the offending
skip-
innodb line in my.
cnf file. The unit tests magically began to work again.
Not sure why
Ubuntu/
KUbuntu ship with
innodb support turned off?
*Update, the mysql 4.1 packages for Ubuntu/KUbuntu have innodb on by default.
Playing with Ruby on Rails
I have begun playing with Ruby on Rails. I am having a hard time mostly because I don't really know the syntax for Ruby in general so, I believe I may be trying to run before I can walk.
To add to the complexity, I am working with a legacy schema (OsCommerce) so, it is slow going trying to get my model mapped out. I did start out by creating some scaffolding for a single table and working from there. So far, it seems okay but time will tell. I will voice an opinion once I have had enough time to really work with it.
AJAXified Natures Paws Representative Pages
My wife and I run an online pet business
Natures Paws.
I just finished updating the Independent Representative pages (
example) to use some AJAX functionality. I have used AJAX techniques in my projects at work using
DWR. Our store is based upon the
OsCommerce engine and Php so, I decided to go with
SAJAX being that it closely resembled how DWR works.
I think in the near future, I am going to refactor the site to use
Dojo Toolkit and widgets. Plus, it would be nice to have an all-in-one solution, from XHR to html effects in one framework.
PDF forms, the web, and Struts...
Have written in a while. I am going to make myself write more if not only to remind myself of things I will forget.
Just finishing up some refactoring of an application that was trying to duplicate a very involved PDF form into html. The final product was then written into a PowerPoint template. It was rather nasty. I decided to keep the PDF form and just push that as the UI. Now the user will be more comfortable with editing the data considering it looks and feels more natural. Also helped to clean up the back-end data now that Fdf data is being saved rather than a rather stringy object graph.
I used
iText to handle the opening of, pre/re-population of form data, and streaming of PDFs to the browser. It was also the only library that would open and save our PDF templates. I tried some commercial libraries and they just wouldn't save or stream the final product. iText being open source software also makes the price more attractive.
Things to note and remember about this project...
1. You can't manipulate an iText PdfReader and then reuse it. It throws an exception complaining that the reader is being reused. You have to change, save, and reopen - even if you are just doing all of this in memory.
2. If you are using Struts and want to send something like a PDF as the response, return a null ActionMapping.