Archive for February, 2007

Installing Ubuntu 6.10 (Edgy) on Dell Inspiron 8600

February 14th, 2007 | Category: How-To, Technical Review

General Hardware Specifications of Inspiron 8600:

Hardware Components Status under Linux Notes
Pentium M processor 1.6Ghz Ok
15.4 WXGA+ (1600×1050) TFT Display Ok No special procedure. Resolution detected automatically.
ATI Radeon 9600 (Mobile) AGP video card Ok As I understand, there is 2 set of drivers available for ATI. One provided by ATI and one Open Source. I didn’t check which driver was used. Everything works fine so that’s enough for me.
512MB + 256MB PC2700 Ok
40 GB Ultra ATA Hard Drive 7200 RPM (Toshiba) Ok
Integrated Network Card Ok I do not use it very much. Mainly using the Wireless. But the couple of times I did use it I had no problems. But I usually disable Wireless network when I use wired connection to prevent conflicts.
Dell TrueMobile Wireless ABG Bad I didn’t try it with Edgy. First time was with 6.06 LTS and I had so much troubles that I just bought an Intel Mini WiFi (see next component)With 6.06 LTS I succeeded using the open source driver but was not very reliable. I tried installing using Ndiswrapper without success.
Intel Pro Wireless 2915ABG Ok I bought this card (MiniPCI) to replace the Dell TrueMobile that was giving me hard time. I just had to setup the WiFi SSID and Wep key. I didn’t try using WPA encryption yet.  I did the configuration using the Networking tools found in the System/Administration menu
Internal 56k Modem I don’t know… I never tried the modem
DVD-ROW/CD-RW Ok
partially tested
I’ve been able to read DVD/CDs, but I haven’t tried burning CDs with it.
59 WHr Lithium-Ion Battery Ok
Integrated sound card Ok
IEEE-1394 (Firewire) I don’t know I have no firewire device to try it.
Logitech MX310 USB Optical Mouse Ok Left, right, scroll wheel are ok. Wheel button, back and forward buttons are not working.
ALPS GlidePoint Ok Mouse navigation, Tap for click, Vertical scrolling are working.  Horizontal scrolling is not working.

How easy to configure? I didn’t explore yet.

PC Speaker Ok
Keyboard – Canadian French Layout Ok

Special Keyboard Keys:

Volume Up / Down Ok
Mute Ok
Media Play/Pause toggle Partially Play works, Pause does’nt (restart the song instead of pausing)
Media Stop Ok
Media Skip Next Ok
Media Skip Previous Ok
Power button Ok Turn off the computer without confirmation… It can be very frustrating when your kid pushes it just before you save your work.
Fn + Volume Up / Down Ok
Fn + Mute Ok
Fn + Brigthness Up / Down Ok
Fn + Numeric keypad Ok Behave correctly depending if NumLock is On or Off
Fn + CRT/LCD I don’t know
Fn + Suspend I don’t know
Fn + Scroll Lock I don’t know
Fn + SysRq I don’t know
Fn + Wireless (on/off) Ok But there is no visual indication that wireless on/off has been toggled. ifconfig still show an ip address when wireless is off (maybe by design… I’m too used to ipconfig from Windows ;) ). You need to use iwconfig to see if the radio is on/off.

Additional Software Installation I performed:

Automatix Automatix is a tool that help you install additional stuff in Ubuntu.  You can find more information about automatix at http://www.getautomatix.com
Additional Multimedia Codecs
(using Automatix)
Those codecs allow watching proprietary multimedia format like Windows Media Movies
aMSN An Instant Messenger for the MSN protocol
The only thing I find out with this software is that it has a pretty ugly fonts by default. I have to take a look at plugins to make it better.
KeePassX This is a password manager that is multi-platform. There is also a Windows version called KeePass. I moved from PasswordSafe because this one has nice alternative with both Linux and Windows so I can use the same password database file from every environment I’m using.
Firefox Extension:
Foxmarks Bookmarks Synchronizer
This is a pretty nice tool. I use it to synchronize my work/laptop/home desktop bookmarks. It can be configured to store its synchronization file on your own WebDAV location (or on Foxmarks servers). The only thing is I’ve seen sync problems while multiple Firefox browser was open. To work around I configure it to synchronize manually so I initiate it every once in a while.
Firefox Extension:
Sage
This is an extension used to subscribe/read RSS/Atom feeds
Firefox Extension:
Stumble Upon
Nice tool (that needs registration) to get you to random sites based on your profile. Random sites are chosen based on the rating of other members with a profile like yours. I discovered a lot of nice sites using it.
No comments

Sharepoint 2003 performance issue with document libraries

February 13th, 2007 | Category: Technical Doc.

Situation:

I’ve been put in charge of an application running on the Sharepoint 2003 plateform. The application composed of many webparts and stores its data directly within lists and document libraries. The website is split by language, one subsite by language. For example:

  • /root/English
  • /root/French
  • /root/Spanish

The purpose of this application is to store and search files with custom metadata attached to it. So we find a customized document library in each language subsite.

The problem:
Overall, there is about 1 000 000 records in those libraries (the biggest library is english with about 400 000 records) and searching through this using custom CAML queries is a pain!

At some point in the application we need to know in which language a document is available. For this we query each document libraries using a filter on a metadata that contains our unique identifier.

<where>
<fieldref name="MyUniqueID">
<value type="Number">00000</value>
</where>

The tracing revealed an increasing time of processing. We currently have 7 languages and the processing time goes like that:

  • 1st language: less than 1 second
  • 2nd language: about 2 seconds
  • 3rd language: about 5 seconds
  • 4th language: about 10 seconds
  • 5th language: about 20 seconds
  • 6th language: about 20 seconds
  • 7th language: about 20 seconds

Work Around:
First of all, the design of the application is not the best but that’s not the purpose of this post.
Some would say, get that data out of Sharepoint! Ya, that’s what we’re doing (for many reasons…) but in the meantime, the system must continue to be up and running.

Metadata is dynamic (it varies from list to list) and Sharepoint is not optimized to search using this. But Sharepoint recognize when you search using its internal identifier and it goes very fast. So if we could map our identifier to the sharepoint internal identier, it should be faster. I found out that doing this 2 steps operation is actually faster (in my scenario it reduced the total from 77 seconds to 2 seconds average):

  1. Run an ugly SQL statement directly on the Sharepoint database to find the Sharepoint internal identifier based on our own unique identifier.
  2. Query Sharepoint API (using CAML) with Sharepoint internal identifier.

the SQL statement looks like this:

SELECT tp_ID FROM UserData WHERE tp_ListID = '...' AND Float1 = ...

Float1 stores our unique identifier. I determine it at run-time by looking at the Fields property (not really sure by heart of the property name…). It contains the Sharepoint column Name / SQL column name mappings.

To get the list identifier (a GUID), just take the ID property of the SPList object.

That’s about it… I could talk about it for hours but I think I said the important points.

Additional notes:
Maybe the following hotfix would have correct the problem:
http://support.microsoft.com/?id=900929

See this explanation from Keith Richie’s blog:
http://blogs.msdn.com/krichie/archive/2006/07/20/673197.aspx

No comments