Recently in Systems Category

So this will probably be a first in a series of posts related to software design patterns and all my inner strugglings regarding what is hype and what is real.  There are probably lot of other people out there that may have similar strugglings, and more than likely there are some out there that are blissfully unaware of the concerns.  So what am I talking about?  Well let's start where I started a while ago, with ORMs.

ORMs (Object Relational Mappers) are a basically a way to have a OO layer between your application code and your RMDBS.  There are some basic "features" of an ORM, but not all ORMs support all of these.  In any case here is a list of common features:

  1. OO interface to tables, rows, functions, etc, in your database.  So you can use native application code and OOP to interact with your data.
  2. A more elegant/simpler API to interact with your database.  Many ORMs use some other database API under the hood, but add routines and interfaces (or simplifies calls) that the normal API lacks.
  3. Object (data object) persistence.  So that you can create an instance of some data you are modeling and then be able to store that object and revive it later with state preserved.
  4. Abstract the interaction between your application code and your database such that in the future if/when you need to move to a different database you application code will require as little change as possible.  Ultimately, changing databases should be a matter of configuration files, or perhaps even less work.  And your app code wouldn't even know the difference between Postgres, MySQL, SQLite, or something else.

Microsoft Exchange problems

| | Comments (0) | TrackBacks (0)
So a while ago at my work, "they" decided to move away from Zimbra and go with Microsoft Exchange.  The main points that made them want to switch were: 1) the calendaring/booking conference rooms/scheduling/sharing calendars didn't work very well in Zimbra and is "known to work in Exchange", and 2) email and calendaring for a large organization just needs to work.  Now- I must admit that this is my take on what has been going on, and I may be wrong here.  But, with that- my experience with Exchange has really sucked.  The points for moving to exchange are one-sided.

Exchange doesn't work well with free software.  Exchange is designed to work with Outlook, and no other client is even considered important.  They do claim to have IMAP support for other email clients, but Microsoft's IMAP seems to be unstable.  It continually has problems freezing up.  About 3-5 times per day the IMAP service on the Exchange server hangs and needs to be restarted!  Lame!  And so all Thunderbird users are stuck playing this "is my email working now?" game all the time.

The other thing is calendaring only works with Outlook clients.  Exchange doesn't support iCal/WebDAV or any other open standard.  So for calendaring we pretty much are forced to use the web interface for Exchange.  And the web interface for Exchange has two versions- a full featured one that only works on IE, and then a crippled one that is served to all other browsers.  LAME again!  So all the "features" of switching to Exchange are really only features for Windows users who use Outlook and IE.  If you use anything else, then your email and calendaring just got a whole lot worse!!

Zimbra did have some known bugs in their calendaring, especially in booking conference rooms for meetings.  However, I believe the folks at Zimbra have been working on that for their next release.  Email never was a problem with Zimbra for any user that I could tell- Outlook or Thunderbird or whatever.

But I'm not bitter.... yet.

Hot Dang.

| | Comments (0) | TrackBacks (0)
Well, I finally got Movable Type installed here and working.  I'm using Postgres as my backend.  I just wish my hosting service used a recent version (they are still on 7.4.x!).  But Postrges is still the best open source RMDB so there you go.  I would have probably chosen SQLite if I could just get the perl module installed (yet another issue with my hosting service).  I think for any small - mid size database work SQLite is a better choice than MySQL, and for anything larger than that chose Postgres.

I like Movable Type a lot.  It seems to be more intuitive than a lot of the other ones I have looked at and tried.  I will be moving my posts from my other blog to this one over the next little bit.

book cover imageThis book is awesome.  I learned so much from it that I have placed it second on my list of books every software engineer should read.  There are so many great topics covered in such a easy to read and understand way that you can't help but want to try them out.  And after trying a few out, you start to wonder how on earth did you live without some of these things.  

There are a few books I have read that I really got a lot out of, and this was one of them.  I was familiar with a lot of the things discussed in here, but not at any great detail (at least with some of them).  I even learned a thing or two with perl (imagine that!).

new site

| | Comments (0) | TrackBacks (0)

So I finally was able to get the domain spencerchristensen.com.  It was taken for a while by someone else, but when I check just a couple of weeks ago, it was available.  So I am setting up my personal site.

I have had a personal site for years at  http://www.mecworks.com/~spencer , but this has fallen dormant for a long time.  I hope to get back into maintaining a personal site with this one.  I still don't have a lot of free time to give to this, but hopefully I can at least give more that what I have been doing.

About this Archive

This page is a archive of recent entries in the Systems category.

Project Ideas is the previous category.

Web Development is the next category.

Find recent content on the main index or look in the archives to find all content.

Powered by Movable Type 4.01