Archive for February, 2007
Installing Ubuntu 6.10 (Edgy) on Dell Inspiron 8600
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 |
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. |
Sharepoint 2003 performance issue with document libraries
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):
- Run an ugly SQL statement directly on the Sharepoint database to find the Sharepoint internal identifier based on our own unique identifier.
- 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