Planet Ingres

May 12, 2008

Grant Croker

Navigating the Ingres source with … ctags

I recently discovered ctags, a program that generates a tag/index file for C, Java, PHP, Python, Ruby. For those new to the Ingres source ctags is an invaluable tool for navigating the Ingres source tree. Editors like vi and Emacs can use the generated tag file to allow the coder to go directly to the source for any Ingres function.

Here is how to setup ctags with Vim:

  1. Install ctags for your operating system
  2. Generate the tag file for the Ingres source:ctags -R -f ~/.vim/tags/ingres.ctags /home/grant/src/svn/ingres/main/
    • ~/.vim/tags/ingres.ctags is the target tag file. Windows: Use $HOME in place of ~
    • /home/grant/src/svn/ingres/main/ is the full path to the Ingres source tree. The path used needs to absolute and not relative since Vim will need to navigate from the current working directory to the file containing the function definition.
  3. Copy the following code into your $HOME/.vimrc:
    " Tag files
    set tags+=$HOME/.vim/tags/ingres.ctags
    " Ctrl+Right Arrow to goto source of function under the cursor
    map <silent><C-Left> <C-T>
    " Ctrl+Left Arrow to go back
    map <silent><C-Right> <C-]>
  4. Open any Ingres source file with Vim, say main/src/common/odbc/driver/connect.c
  5. Search for IIapi_initialize, somewhere around line 2276 (at least on my system)
  6. Place the cursor over the function IIapi_initialize and then press Control+Right Arrow/Cursor
  7. Vim should have loaded main/src/common/aif/aip/apiinit.c and placed the cursor on the following line (309):
    IIapi_initialize( IIAPI_INITPARM II_FAR *initParm )
  8. To go back to the previous file press Control+Left Arrow/Cursor

There you have it a simple way of navigating the Ingres source from the relative comfort of Vim.

by grant at May 12, 2008 11:14 AM

May 06, 2008

Doug Harr

The Evolved CIO

Career Is Over?

When talking about our 100% SaaS / Open Source strategy at Ingres, I am often asked, “what will that mean for your future as a CIO” or “how do you maintain control of technology at the company” using this model. The first thing I let them know is that CIO means “Career Is Over” – then I try to smile.

Enablement & Alignment vs. Control

First things first. Control is overrated. The role of the “evolved” CIO is to focus on strategy, innovation, and enablement rather than worrying only about operational efficiency. Sure we have policies, governance, and security measures, and we need to assure the company’s information assets are protected. But we count on people to follow the policies, and we put technology in place to assure no harm is done.

Then I hear – what about all these SaaS offerings – people can just sign up and you have no idea what they are doing. I think several CIO’s have stories about the tool, utility, or even application that suddenly appeared on the network. I certainly have my own.

The First Time…

My first experience with SaaS was at my last company. We were mired in a very poor implementation of “Project Accounting” from a legacy software vendor. When new management for the Services group came in, we discussed the situation and the difficulty we were having upgrading this on-premise nightmare. The new local VP went out on his own and found several SaaS based PSA tools, and came to the conclusion that we should seriously consider 2 finalists, and rip out the legacy provider for this function.

At first I had the typical reaction to these events – shock and horror! How could we abandon the platform in preference for some point solution? What about integration? What about reporting? After this wore off, I realized this had to be a business driven solution, and I was either going to be a part of it, or be a detractor. Well, we ended up going through a bake-off and selected OpenAir, which quickly became a huge win for the services organization and for IT as well.

Darwin’s Theory

Instead of worrying about where this would fit in the data center, what servers it would run on, and how I was going to train our operations staff on its use, I had a chance to concern myself only with how to make this work for the business as effectively as possible. We transformed Lilly from our operations department into one of the best business analysts I have ever known. IT got out of the position of being a roadblock to the services group, and into the position of being a key partner.

Does this all mean there is no room for the CIO? Not at all – these are still complex decisions that require architectural consideration and due diligence. Vendor management becomes a bigger part of your life. Making sure there is air and power in the dc becomes less a part of your life. It’s all about focus.

I have a very similar story about the adoption of open source software – the need to evolve and adopt these solutions is very much the same as with SaaS, and will cover that one in a future posting.

by Doug Harr at May 06, 2008 05:55 PM

May 05, 2008

Ingres Tech Blog

Software Appliances, we need a definition please!

When I talk to customers or colleagues in IT about appliance based computing, I get a couple different responses. I get the “Huh?” look. I get some futuristic absurdity that makes me re-think why I asked this person in the first place. Or, I get a slightly similar yet different definition I’m familiar with. It makes me recognize how badly we as customers and ISVs need a definition to agree on.

There are pros and cons to the early days of a definition, particularly in software. Vendors are usually guilty of twisting, turning, and manipulating a definition in order to fit their agenda. While customers grab a definition they like and apply it to their world, only to shut out potentially better technology. As more vendors & customers enter the fray, bodies get created, conferences are held, and enough mass is generated to ensure a standard is established. But this takes time and is that really needed? I’m not sure.

Good or bad, I like to go to Wikipedia as a starting point to see if a definition to a personal unknown exists. Everyone needs to place an appropriate filter on what they read and from where, but in this case, I think the Wikipedia definition of software appliances is spot on. We now have a starting point, a definition that is public, neutral, and in the open for the community to comment and shape. 20 years ago I think this battle was won by the biggest marketing budget on the block. Today, the masses and the smaller guys can get involved early and keep the marketing disinformation to a minimum.

By way of introduction, I’m a product manager at Ingres involved in managing our Appliance computing initiative with partners. We have what I think are some interesting and valuable solutions for customers and ISVs. This corner of the world is getting more interesting due to its early days, the growing number of vendors and customers adopting, and the value it provides. I hope to shed more light on what Ingres and the market are doing and why software appliances are here to stay.

by mike.boyarski at May 05, 2008 06:50 PM

May 01, 2008

Ingres Tech Blog

Ingres Engineering Summit - From the user side ….

I saw this post on one of the Ingres mailing list and thought others might be interested in hearing what Roy Hann (UK IUA President)  had to say about the recent Ingres Engineering Summit .—-Original Message—–From: Roy Hann

Sent: Wednesday, 30 April 2008 2:51 AM

Subject: [Info-Ingres] Ingres Engineering Summit

Nobody has yet posted any report of the Ingres Engineering Summit anywhere, so I thought I’d report a few bits and pieces that captured my attention.

First of all, it was an open event, as befits an open source company.

Anyone was welcome to attend and a great many partners (and others) did. I don’t know the total headcount but considering it was a moderately expensive week and a long time out of the office, it was very well attended. I’d guess there were well over 100 people there.

The amount of openness demonstrated was impressive. It wasn’t just about exposing the code, it was also about exposing the thinking, the working practices, the people, and–yes–the tensions. With the exception of a one-hour slot that was employees-only, everything was out in the open.

Anyone who didn’t attend has missed out on a lot. Plan to attend next year.

Just running through the agenda from top to bottom, and focussing just on Ingres rather than OpenROAD, here are some highlights:

Andrew Ross did a one hour presentation that covered a lot of ground on the general theme of “community development”, and more precisely, the barriers to community development and what has to change to make it easier/possible.

As we all know, there was a lot standing in our way, and there is a long way to go still. However the need for a properly open process was as taken as given. As well as reporting a lot of progress with things like

http://code.ingres.com (Subversion code repository), http://lxr.ingres.com (code cross-referencer), and http://bugs.ingres.com (bug tracking), Andrew also outlined a number of as-yet unresolved problems. I think I’ll leave it to Andrew to elaborate on those, but the big one (IMO) is the communication channels. Mike Sale, Mike Leo and I have been discussing this too. One thing we agree on is that the current phpBB-based Ingres forums are an embarrassment and have to go (real soon if I have my way). Mike Leo’s suggestion of using vBulletin turns out to be top of the list at Ingres too, so that could happen fairly quickly. There are several benefits to vBulletin but the big one is that it will allow us to have a single community delivered via web pages, e-mail, or NNTP, so that we can accommodate everyone’s way of working. IRC will of course remain separate.Another big item from Andrew’s presentation is that there are actually two fairly successful virtual development systems about ready for delivery. We should be able to get our hands on these within a week or so.I won’t dwell on the rest of the presentations in such detail. You can infer the significance of these topics appearing on the agenda as well as I can.We had a number of demos of things like Ingres Café and some OpenGIS software. There was a presentation from Gordon Thorpe on the formidable challenge of re-architecting GCA. Hugh Darwen spoke about Project D (an implementation of Tutorial D on top of Ingres) and earned himself the second prize for Best Presentation. We had two presentations on column stores, one of which went on to win the first prize Best Presentation (Marcin Zukowski on Monet/x100). Karl spoke fluently about something or other for an hour and many of us marvelled. Mike Touloumtzis led a discussion about how to implement column encryption; nothing was decided but a lot of ground was explored. Steve Ball and Alison Stillway led another discussion on how to implement MVCC and which model of MVCC to adopt; nothing was decided except that a design document will be drafted for public comment. (To my mind this may be the most immediately and widely useful enhancement that popped up on the new-features radar.) Emma McGrattan picked up where Andrew Ross left off. The big thing in her presentation was the carefully expressed and several-times repeated instruction that Ingres Corp requires all its personnel to devote 10% of their time to community projects (i.e. 1/2 day per week). That is a lot of effort folk! After Emma, Kai-Uwe Sattler talked about some research into making Ingres more autonomous and self-tuning (including the ability to recommend secondary indices and statistics). There were two presentations on two different replicators from partner companies. Roger Whitcomb told us about the work he’s been doing on Ingres Management Tools, which was really good stuff. (I was present at the meeting where VDBA was first unveiled back circa 1995 and it was greeted with horror and revulsion then, and nothing has changed. Roger’s work is definitely going in the right direction this time.) After this I stepped out of server-land and saw Daryl Monge discussing Ruby on Rails. For some reason every head in the room turned to look at me when he reminded us that RoR requires every table to have a synthetic integer key. Evidently everyone understands this is wicked and wrong and that they should feel guilty about it, but equally evidently people are just going to go on doing it anyway. That was enough for me, so I retreated back to server-land again after that.

So there you are. I saw fewer than half the presentations, so perhaps someone else will comment on the others.

Finally , I am hoping to get at least a couple of these repeated at the IUA conference on June 17 in London. Please let me know if there is anything above that particularly takes your fancy and I will see what I can do.

Roy

by deb.woods at May 01, 2008 12:14 AM