I've nearly had enough of Outlook 2007 and am seriously considering something like Firebird instead.
The guys appear to have added quite a few new features in 2007 over 2003 but have also created far more problems than I'm prepared to put up with.
I've now solved one of the most annoying which was performance related - how can anything run slowly on a 2.2 GHz Dual Core with 4GB RAM and a 64GB solid state disk!
The problem appears to be that Outlook offline data files were designed for very small mailboxes - I suspect the underlying architecture is very similar to that in a PST file. Somewhere in the design must be a hash-table and leafs of a b-tree and that b-tree is very much overflowing in a modern email environment.
I'm a power user and don't deny it and I like to keep almost every non-spam email I receive - they are an invaluable resource on a day to day basis. For that reason my .OST file was nearly 8GB - large - but not unreasonable with the bloat that is a XLS or DOC file.
The issue is that performance drops to unacceptable and although I can't hear the thrashing I can see that the SSD is being worked ridiculously hard by the flashing disk activity light.
The answer has been to do the following, and although it works for me because of the way I store my emails it won't work for everyone.
I personally like to keep archives in a chronological manner - maybe it's just me but I find it fairly easy to guess a date for something and from there honing in on the right thing is fairly easy. For that reason I simply have subfolders under the inbox and sent-items for 1997, 1998, 1999 etc through to 2007.
I generally keep 3 months worth of current emails in my Inbox and Sent Items and archive into the subfolders every month or two.
What I've ended up doing is copying the data (not moving) from all of the yearly folders into a PST file (with the exception of 2007).
This has resulted in a 2.7GB PST file.
The next thing I've done is to set the synchronisation filter for the yearly folders to only synchronise unread emails - in other word nothing. This leaves the emails where they belong - on the Exchange server - in an appropriate folder but means that my OST file has shrunk to just over 1GB.
Maybe it's an indication of how bad the OST structure is that the disk space required for this solution has almost halved. I can't think why other than Unicode/ANSI text issues.
I've made the PST file read-only and will copy it to each of my machines as an offline copy of data that won't change (well only at the beginning of each year when I move a whole additional years worth of mail into the PST).
The main reason the solution is acceptable is that Windows Desktop Search is able to index PST files and seamlessly integrates the results with those from the Inbox.
Windows Desktop Search is one of those applications I love to hate - but it works - which is why it annoys me as it really does solve problems such as these by bringing together results so effectively.
A solution which so far is proving far better than Outlook alone would provide - all I need to solve now is why Outlook keeps forgetting my favourite public folders...
Wednesday, January 30, 2008
Monday, January 28, 2008
Sage Line 50 on 64bit Windows
Well my 64bit laptop is gradually coming together - only a few more 64bit niggles to iron out and then it's fully up and usable.
The one I've solved today involves Sage Line 50 - and specifically the rather ancient version that I'm fully licensed for - v7.
The installers appear to be a 16bit app (is that possible?) and 16bit apps don't run at all on 64bit windows so that installer just starts setup.exe and does absolutely nothing.
Since I've done a fair bit of installshield work in the past I though the best route would be to monitor the install on a clean machine and reproduce the steps on the new laptop.
Using WinstallLE (from the Windows 2000 Server CD) I built an MSI but more importantly gathered the registry changes that were made during the installation. As always there were lots more than required so I trimmed out everything referencing parts of the registry that weren't relevant to the install.
In addition to the contents of the Line50 folder there are a bunch of files mostly matching SG*.dll in the system32 folder and also SW7*.dll which is the ODBC driver.
I copied these into the main installation folder and got a working Sage - but I knew that the hardest part would be to get the ODBC working.
It turns out that the ODBC driver was built against the MS VC RTL 2 so I copied that and also an unknown dll called MSIMTF.dll.
Once those dependencies were copied across (again into the Line50 folder) I was able to run the 32bit ODBC administrator which cunningly lives in c:\windows\syswow64\odbcad32.exe.
Unsurprisingly the ODBC driver wasn't yet registered which can be performed with the following statement:
C:\WINDOWS\SysWOW64>odbcconf INSTALLDRIVER "Sage Line 50 v7|Driver=c:\work\line50\SW7DBC32.dll|Setup=c:\work\line50\SW7DBC32.dll"
Where "c:\work\line50" is the installation folder.
And hey presto - a working Sage Line 50 complete with reports!
The one I've solved today involves Sage Line 50 - and specifically the rather ancient version that I'm fully licensed for - v7.
The installers appear to be a 16bit app (is that possible?) and 16bit apps don't run at all on 64bit windows so that installer just starts setup.exe and does absolutely nothing.
Since I've done a fair bit of installshield work in the past I though the best route would be to monitor the install on a clean machine and reproduce the steps on the new laptop.
Using WinstallLE (from the Windows 2000 Server CD) I built an MSI but more importantly gathered the registry changes that were made during the installation. As always there were lots more than required so I trimmed out everything referencing parts of the registry that weren't relevant to the install.
In addition to the contents of the Line50 folder there are a bunch of files mostly matching SG*.dll in the system32 folder and also SW7*.dll which is the ODBC driver.
I copied these into the main installation folder and got a working Sage - but I knew that the hardest part would be to get the ODBC working.
It turns out that the ODBC driver was built against the MS VC RTL 2 so I copied that and also an unknown dll called MSIMTF.dll.
Once those dependencies were copied across (again into the Line50 folder) I was able to run the 32bit ODBC administrator which cunningly lives in c:\windows\syswow64\odbcad32.exe.
Unsurprisingly the ODBC driver wasn't yet registered which can be performed with the following statement:
C:\WINDOWS\SysWOW64>odbcconf INSTALLDRIVER "Sage Line 50 v7|Driver=c:\work\line50\SW7DBC32.dll|Setup=c:\work\line50\SW7DBC32.dll"
Where "c:\work\line50" is the installation folder.
And hey presto - a working Sage Line 50 complete with reports!
Saturday, January 26, 2008
Dell Precision M4300
My existing Dell Latitude D600 is nearly 4 years old and as it's Dell's year end and the discounting is good I though I'd treat myself to a new laptop.
My main requirements are 1400x1050 LCD, 4GB RAM, Core-2 duo and good battery life.
Dell appear to have left us developers in the dark these days and the choice of laptops with a decent vertical resolution has dwindled considerably - you either have the choice of a huge 17" screen and a luggable rather than portable machine or a D520 class machine which I've never been impressed at.
Being D Series compatible is important to me as I've got a number of peripherals that fit in the d-dock and docking stations at various places where I work - so I've ended up opting for the 1680x1050 resolution 15.4" screen of the precision M4300.
My first impressions are that it's big - much bigger than I was hoping for and next to my D600 it really is in a different league. I really hope that there's a revolt to continual use of wide-screen displays - they're very nice - but you do end up with an impractical display configuration. As a developer we always work on "tall and thin" code and how many people you know work on word documents in landscape mode? Is the modern laptop really dedicated to people who watch DVD's? If so how about those of us who actually work on our laptops for a living?
Well it's a big laptop and unfortunately that also means it's a heavy laptop - it's got a good array of ports - everything you'd imagine really from 3xUSB, eSATA, firewire, PCMCIA and Cardbus, VGA, serial, NIC, modem, and s-video. What's dissappointingly missing is a card reader of some variety which means I'll end up installing the little PCMCIA flash readers that I've used in my previous machines. A shame really given the huge amount of empty space there must be inside the case.
Performance wise though the size does have it's advantages - the screen is good, and the processor (2.2 GHz core-2 duo) is spot on - as is the 4GB RAM. I'm running Win XP 64bit so I can actually use all 4GB unlike many with 4GB installed. This laptop also has a nVidia QuadroFX 360M with 512MB onboard so I won't be sharing core RAM with the video card. You'd also have hoped that they'd have got a 370M into it but no such luck so this machine won't be the fastest around for Vista - personally I see that as an advantage rather than a disadvantage as I'll be switching to Windows Server 2008 once it's finally released rather than going anywhere near Vista.
The machine came with a 160GB 7200RPM SATA disk from Seagate which is about as good as 2.5" disks get these days - I did some performance stats with H2BENCHW and it really is a good disk, shame it's had to be removed to make way for an SSD.
Which cunningly leads me onto the most crucial bit - the Samsung 64GB SATA SSD - supplied by overclockers.co.uk at the whopping price of £499+VAT (that's 2/3rds of the cost of the laptop on top). Overclockers.co.uk have found a way of supplying these disks to the general public and this disk turned up Dell branded - they must be purchasing direct from Dell which sounds about right as I believe Samsung have agreed to supply to OEMs only to start off with.
Compared to the 32GB PATA SSD that I have in the D600 the 64GB SATA SSD is a far more polished product - rather than exposed chips in a plastic case the SATA model appears to be a single billet of aluminium with space carved out for the electronics - a much more appealing thing to behold but still far too expensive for the average user.
The first thing that I've really noticed with the SSD compared to the mechanical disk is how quiet the machine has now become - I hadn't realised quite how much noise the original disk was contributing whilst I was benchmarking and testing the original disk but now that the SSD is in I realise that the CPU fans only rarely cut in so the noise from the machine was almost entirely from the disk - not the sound of the heads moving but just a background noise of the spinning disk which has now thankfully gone - I'm finally beginning to like this machine.
Speed I guess is the reason for the SSD and I'm a bit dissappointed with the benchmarks - it's not looking any faster than the PATA model. I thought I was buying the Samsung 100MB/s model but it looks like that isn't the one in the market right now and 50MB/s is what I'm getting. That's slower than the 105MB/s I got from the 7200 RPM disk but as with any SSD it's the access times that count. Average Random Seek times have gone from the original 14.4ms (very respectable for a 2.5" 7200RPM disk) down to the almost insignificant 0.26ms - that's 55x faster which means that it can truly sustain 50MB/s at all times rather than just the occasional burst to 105MB/s that a rotating disk can manage.
In the real world what this means is that I'm booting from on-switch to login prompt in approximately 20 seconds - not forgetting that this is a machine with a 6GB page file, a full array of development tools including SQL 2k5 developer edition and then from login prompt so usable desktop is almost instantaneous and gloriously silent. That's quick enough for me.
So to rate the Precision M4300 - I'd have to score it:
Processor 9/10
Screen 9/10
Weight 4/10
Size 4/10
Disk 7/10 (original)
Disk 9/10 (SATA SSD)
Overall 8/10 - it's the size and weight of the machine that's dissappointing especially when you consider what Apple can do with the MacBook Air and what Asus can do with the Eee PC.
My main requirements are 1400x1050 LCD, 4GB RAM, Core-2 duo and good battery life.
Dell appear to have left us developers in the dark these days and the choice of laptops with a decent vertical resolution has dwindled considerably - you either have the choice of a huge 17" screen and a luggable rather than portable machine or a D520 class machine which I've never been impressed at.
Being D Series compatible is important to me as I've got a number of peripherals that fit in the d-dock and docking stations at various places where I work - so I've ended up opting for the 1680x1050 resolution 15.4" screen of the precision M4300.
My first impressions are that it's big - much bigger than I was hoping for and next to my D600 it really is in a different league. I really hope that there's a revolt to continual use of wide-screen displays - they're very nice - but you do end up with an impractical display configuration. As a developer we always work on "tall and thin" code and how many people you know work on word documents in landscape mode? Is the modern laptop really dedicated to people who watch DVD's? If so how about those of us who actually work on our laptops for a living?
Well it's a big laptop and unfortunately that also means it's a heavy laptop - it's got a good array of ports - everything you'd imagine really from 3xUSB, eSATA, firewire, PCMCIA and Cardbus, VGA, serial, NIC, modem, and s-video. What's dissappointingly missing is a card reader of some variety which means I'll end up installing the little PCMCIA flash readers that I've used in my previous machines. A shame really given the huge amount of empty space there must be inside the case.
Performance wise though the size does have it's advantages - the screen is good, and the processor (2.2 GHz core-2 duo) is spot on - as is the 4GB RAM. I'm running Win XP 64bit so I can actually use all 4GB unlike many with 4GB installed. This laptop also has a nVidia QuadroFX 360M with 512MB onboard so I won't be sharing core RAM with the video card. You'd also have hoped that they'd have got a 370M into it but no such luck so this machine won't be the fastest around for Vista - personally I see that as an advantage rather than a disadvantage as I'll be switching to Windows Server 2008 once it's finally released rather than going anywhere near Vista.
The machine came with a 160GB 7200RPM SATA disk from Seagate which is about as good as 2.5" disks get these days - I did some performance stats with H2BENCHW and it really is a good disk, shame it's had to be removed to make way for an SSD.
Which cunningly leads me onto the most crucial bit - the Samsung 64GB SATA SSD - supplied by overclockers.co.uk at the whopping price of £499+VAT (that's 2/3rds of the cost of the laptop on top). Overclockers.co.uk have found a way of supplying these disks to the general public and this disk turned up Dell branded - they must be purchasing direct from Dell which sounds about right as I believe Samsung have agreed to supply to OEMs only to start off with.
Compared to the 32GB PATA SSD that I have in the D600 the 64GB SATA SSD is a far more polished product - rather than exposed chips in a plastic case the SATA model appears to be a single billet of aluminium with space carved out for the electronics - a much more appealing thing to behold but still far too expensive for the average user.
The first thing that I've really noticed with the SSD compared to the mechanical disk is how quiet the machine has now become - I hadn't realised quite how much noise the original disk was contributing whilst I was benchmarking and testing the original disk but now that the SSD is in I realise that the CPU fans only rarely cut in so the noise from the machine was almost entirely from the disk - not the sound of the heads moving but just a background noise of the spinning disk which has now thankfully gone - I'm finally beginning to like this machine.
Speed I guess is the reason for the SSD and I'm a bit dissappointed with the benchmarks - it's not looking any faster than the PATA model. I thought I was buying the Samsung 100MB/s model but it looks like that isn't the one in the market right now and 50MB/s is what I'm getting. That's slower than the 105MB/s I got from the 7200 RPM disk but as with any SSD it's the access times that count. Average Random Seek times have gone from the original 14.4ms (very respectable for a 2.5" 7200RPM disk) down to the almost insignificant 0.26ms - that's 55x faster which means that it can truly sustain 50MB/s at all times rather than just the occasional burst to 105MB/s that a rotating disk can manage.
In the real world what this means is that I'm booting from on-switch to login prompt in approximately 20 seconds - not forgetting that this is a machine with a 6GB page file, a full array of development tools including SQL 2k5 developer edition and then from login prompt so usable desktop is almost instantaneous and gloriously silent. That's quick enough for me.
So to rate the Precision M4300 - I'd have to score it:
Processor 9/10
Screen 9/10
Weight 4/10
Size 4/10
Disk 7/10 (original)
Disk 9/10 (SATA SSD)
Overall 8/10 - it's the size and weight of the machine that's dissappointing especially when you consider what Apple can do with the MacBook Air and what Asus can do with the Eee PC.
LED Bulbs
The time has finally come when the GU10 halogen bulbs in the office have died and I've decided to replace them with LED bulbs.
The deciding bit is easy - the choosing and purchasing is much much harder.
I've ended up going for some that I found in a local DIY store - they are branded - Philips Deco - and are 1W "Warm White" retailing at £6.99 each.
They consist of 9 LED's within the GU10 package and run at 240V AC - according to a spec I finally located in German they appear to be 6000cn rated - which is obviously quite low - but as they're installed three at a time I though I'd give it a go.
Compared to the 3x 35W bulbs that were in there before the light being emitted is almost negligible but that's not really surprising - 105W vs 3W is a considerable power saving.
I've manged to burn through 3 of the existing halogen's in 12 months so it'll be interesting to see how these LED bulbs compare. They are rated between 5,000 and 100,000 hours so it would be nice to think that they'll easily outway they're initial cost.
I'm also considering some of the bulbs that screwfix.com supply - they do two varieties - a Halolite one at 1W and also a Sylvania one at 1.5W.
The deciding bit is easy - the choosing and purchasing is much much harder.
I've ended up going for some that I found in a local DIY store - they are branded - Philips Deco - and are 1W "Warm White" retailing at £6.99 each.
They consist of 9 LED's within the GU10 package and run at 240V AC - according to a spec I finally located in German they appear to be 6000cn rated - which is obviously quite low - but as they're installed three at a time I though I'd give it a go.
Compared to the 3x 35W bulbs that were in there before the light being emitted is almost negligible but that's not really surprising - 105W vs 3W is a considerable power saving.
I've manged to burn through 3 of the existing halogen's in 12 months so it'll be interesting to see how these LED bulbs compare. They are rated between 5,000 and 100,000 hours so it would be nice to think that they'll easily outway they're initial cost.
I'm also considering some of the bulbs that screwfix.com supply - they do two varieties - a Halolite one at 1W and also a Sylvania one at 1.5W.
Wednesday, August 15, 2007
Installation of XP on Samsung 32GB SSD
Finally I've got enough work out of the way that I can install XP on my new SSD drive.
My current setup is a Dell Latitude with 100GB 7200RPM 2.5" disk + a 32GB Samsung SSD in the media bay. Using an external USB DVD drive I've installed XP onto the SSD.
Try as I might I couldn't get the laptop to recognise the SSD as the C: drive so the D: drive it is. I guess the advantage is that it's a parallel install to my previous XP which is on the actual C: drive and I can dual boot between them.
There's a couple of things I'm expecting to go wrong - lots of poorly written applications might assume a C: drive but so far so good and everything is behaving nicely.
There's a fair old software stack installed on my laptop and it's taken most of the day to tickle it along. The basics are Office 2k7, Visual Studio 2k8 beta, SQL server 2k5, Oracle 10g, Firefox + add-ons, IE + add-ons, Sharpreader, Eclipse, FlexBuilder 2.01, Flexbuilder 3 beta, TortoiseSVN... the list just goes on and on - and that's not even including all the patches.
The SSD drive itself is lovely and quick - things like Eclipse jump into life especially when you can see it (or rather not see it!) scanning through the plug-ins.
A couple of apps have proven their flexbility:
Firefox - I was able to copy my profile from the C: drive straight into my profile on the D: drive and all of my favourites, history, usernames etc have come straight across.
Likewise wth Sharpreader - copying the folder from my old profile into my new one has brought across everything I'd hoped for.
Even Skype played nice which was a surprise and once again copying the contents of my profile has brought across everything including the chat histories which I find invaluable.
My current setup is a Dell Latitude with 100GB 7200RPM 2.5" disk + a 32GB Samsung SSD in the media bay. Using an external USB DVD drive I've installed XP onto the SSD.
Try as I might I couldn't get the laptop to recognise the SSD as the C: drive so the D: drive it is. I guess the advantage is that it's a parallel install to my previous XP which is on the actual C: drive and I can dual boot between them.
There's a couple of things I'm expecting to go wrong - lots of poorly written applications might assume a C: drive but so far so good and everything is behaving nicely.
There's a fair old software stack installed on my laptop and it's taken most of the day to tickle it along. The basics are Office 2k7, Visual Studio 2k8 beta, SQL server 2k5, Oracle 10g, Firefox + add-ons, IE + add-ons, Sharpreader, Eclipse, FlexBuilder 2.01, Flexbuilder 3 beta, TortoiseSVN... the list just goes on and on - and that's not even including all the patches.
The SSD drive itself is lovely and quick - things like Eclipse jump into life especially when you can see it (or rather not see it!) scanning through the plug-ins.
A couple of apps have proven their flexbility:
Firefox - I was able to copy my profile from the C: drive straight into my profile on the D: drive and all of my favourites, history, usernames etc have come straight across.
Likewise wth Sharpreader - copying the folder from my old profile into my new one has brought across everything I'd hoped for.
Even Skype played nice which was a surprise and once again copying the contents of my profile has brought across everything including the chat histories which I find invaluable.
Tuesday, August 14, 2007
Logitech VX Revolution
I've just received through the post a new mouse for my laptop and it's the Logitech VX Revolution.
It's available from Amazon and all good stores - mine came from Scan.co.uk.
I've been using it now for a few hours and it's a marked improvement over my previous mouse - the scroll wheel - being a free scrolling one is great to use as you can flick it along and jump nicely down through the page.
I'm not sure whether I'll be using the zoom-in/out buttons - not something I do a great deal of to be honest so I'll probably re-map those to something more useful at a later date.
A very nice touch is the little wireless receiver - which actually fits into a little hole in the mouse when it's not plugged in and conveniently turns off the battery when you do so. Now that really is a good piece of design.
The only thing that's missing compared to my previous mouse is the little cloth bag that it came in - maybe they've had feedback to the contrary but I always keep my mouse in it's little bag when I'm travelling but maybe that's just to keep the receiver closeby... I'll try it without and see how I get on.
So far I'd rate it 9/10.
It's available from Amazon and all good stores - mine came from Scan.co.uk.
I've been using it now for a few hours and it's a marked improvement over my previous mouse - the scroll wheel - being a free scrolling one is great to use as you can flick it along and jump nicely down through the page.
I'm not sure whether I'll be using the zoom-in/out buttons - not something I do a great deal of to be honest so I'll probably re-map those to something more useful at a later date.
A very nice touch is the little wireless receiver - which actually fits into a little hole in the mouse when it's not plugged in and conveniently turns off the battery when you do so. Now that really is a good piece of design.
The only thing that's missing compared to my previous mouse is the little cloth bag that it came in - maybe they've had feedback to the contrary but I always keep my mouse in it's little bag when I'm travelling but maybe that's just to keep the receiver closeby... I'll try it without and see how I get on.
So far I'd rate it 9/10.
Nokia Battery Replacements BL-5C
Looks like it's not just Sony that produces dangerous Li-ion batteries.
I've just found out that Nokia have a product recall on their BL-5C battery which affects my Nokia E50.
The website form for the replacement is awful though - it keeps on losing state as though there's a web farm behind the scenes and it's relying on session state.
Very poor.
It's taken me about 10 clicks on the various submit buttons before I finally got a confirmation message.
Keep going though as you will finally get a message that says:
"Thank you. Your contact information has been registered. We will send you the replacement battery as soon as possible. We appreciate your use of Nokia products."
PS Thanks Chris for the heads-up
I've just found out that Nokia have a product recall on their BL-5C battery which affects my Nokia E50.
The website form for the replacement is awful though - it keeps on losing state as though there's a web farm behind the scenes and it's relying on session state.
Very poor.
It's taken me about 10 clicks on the various submit buttons before I finally got a confirmation message.
Keep going though as you will finally get a message that says:
"Thank you. Your contact information has been registered. We will send you the replacement battery as soon as possible. We appreciate your use of Nokia products."
PS Thanks Chris for the heads-up
Monday, August 13, 2007
Hotspare.co.uk
I'll never know why but for some reason we've never registered the hotspare domain name!
To solve this slight oversight we've just purchased hotspare.co.uk.
All we need to do now is find some time to get a decent website hosted...
To solve this slight oversight we've just purchased hotspare.co.uk.
All we need to do now is find some time to get a decent website hosted...
CodeQuest's timesheet app now re-written in Flex
Well almost...
The bulk of the code is in place along with the ASP.Net web services that supply and manipulate the data behind the scenes.
It took me a very long time to get to grip with Flex's "Grid" layout components and I'm still not 100% happy with them. The great thing about Flex is how easy it is to get things up and running - and the boys who developed the framework really though about real-world scenario's rather than abstract usage. It really is a joy to use - if only they could make the compiler faster.
The grid layout (although being deprecated in v3 from what I've read) seemed ideal for setting out a simple calendar display - I just wanted a grid 7 columns wide by however many weeks there are in the month. I've set the "verticalGap" and "horizontalGap" both to zero and yet I still get a gap between my cells - I really don't want one! I've tried setting margins, padding and everything under the sun but still no joy. I've even searched through the source code to spot the missing property but no joy as yet.
While ranting a bit about Flex I may as well point out my inability to grasp Flex's UITextField. I simply can't get it to play nice - it loses lots of the formatting I apply to it unless I apply the styles to the UITextField's container control - which doesn't really make much sense but as long as it works I've better things to do that step through code within the framework.
There's just some layout code left to tidy up and then some work on making the timesheet even more intuitive to use.
We might even add management reports in addition to the individual's reports that we currently have.
The bulk of the code is in place along with the ASP.Net web services that supply and manipulate the data behind the scenes.
It took me a very long time to get to grip with Flex's "Grid" layout components and I'm still not 100% happy with them. The great thing about Flex is how easy it is to get things up and running - and the boys who developed the framework really though about real-world scenario's rather than abstract usage. It really is a joy to use - if only they could make the compiler faster.
The grid layout (although being deprecated in v3 from what I've read) seemed ideal for setting out a simple calendar display - I just wanted a grid 7 columns wide by however many weeks there are in the month. I've set the "verticalGap" and "horizontalGap" both to zero and yet I still get a gap between my cells - I really don't want one! I've tried setting margins, padding and everything under the sun but still no joy. I've even searched through the source code to spot the missing property but no joy as yet.
While ranting a bit about Flex I may as well point out my inability to grasp Flex's UITextField. I simply can't get it to play nice - it loses lots of the formatting I apply to it unless I apply the styles to the UITextField's container control - which doesn't really make much sense but as long as it works I've better things to do that step through code within the framework.
There's just some layout code left to tidy up and then some work on making the timesheet even more intuitive to use.
We might even add management reports in addition to the individual's reports that we currently have.
SalesAnalysis.co.uk development underway
Finally I've managed to put some time aside to start building parts of SalesAnalysis.co.uk.
Although incredibly ambitious in the long term we've identified a set of achievable goals to get us started.
The first step is to build the data-dictionary storage engine onto which a large part of the system will be built so there are lots of crucial decisions being made at the moment. XML is the obvious format but how and where to store it is the question - in a database - in a file - in many files in some directory hierarchy - initially it's going to be a set of files in a single folder as that's the easiest to implement. As time goes on and version control comes into play that'll have to be re-engineered but for now it'll get us started.
Although incredibly ambitious in the long term we've identified a set of achievable goals to get us started.
The first step is to build the data-dictionary storage engine onto which a large part of the system will be built so there are lots of crucial decisions being made at the moment. XML is the obvious format but how and where to store it is the question - in a database - in a file - in many files in some directory hierarchy - initially it's going to be a set of files in a single folder as that's the easiest to implement. As time goes on and version control comes into play that'll have to be re-engineered but for now it'll get us started.
RAMSAN go to 2TB
The guys over at Texas Memory Systems have announced their 2TB flash based RAM SAN.
With more bandwidth and I/O's that most of us will ever see in a lifetime they truly are the future for anyone with a database performance issue.
I'm a little surprised that they've moved away from the older architecture which was based around using DDR and a RAID array of slow old SAS drives for secondary storage.
Evidently when buying SSD's in high enough volumes they come in at a price level which competes with DDR.
With more bandwidth and I/O's that most of us will ever see in a lifetime they truly are the future for anyone with a database performance issue.
I'm a little surprised that they've moved away from the older architecture which was based around using DDR and a RAID array of slow old SAS drives for secondary storage.
Evidently when buying SSD's in high enough volumes they come in at a price level which competes with DDR.
Volume Shadow Copy
The Volume Shadow Copy feature of Windows XP and 2003 provides enterprise grade backup and recovery features in a very simple API.
The problem is that although that API is a COM API it's not very easy to consume - in fact, after spending a couple of days in .Net trying to build a PInvoke wrapper I gave up. It's all because one of the main calls that you require to get things going is CreateVssBackupComponents and that requires a pointer to a COM Interface passed into it - the problem is that that interface has no IID.
Now I never even knew that was possible and I'm sure it must be considered poor COM practice but nethertheless it's too late now - it's now in it's 2nd or 3rd iteration and I'm guessing we're stuck with it.
When I originally starting playing with the VSS SDK I hit this brick wall and never really receovered from it. The plan was to implement Volume Shadow Copy features into Hotspare but we ended up using the vshadow.exe tool in the VSS SDK within our scripts which solved the issue we had at the time.
Well recently I've come across Hobocopy and it looks like the author Craig Andera - who blogs here - had exactly the same experience. So it wasn't just my lack of PInvoke ability after all.
Ever the one to get stuck into a problem I decided to try out some Managed C++ and build a proper managed wrapper around the API. This is my first ever MC++ project and boy I was in for a suprise when I started. What are all the ^'s about! Those are pointers really and everybody know's it!
A couple of days later and the project is now feature complete. I'm waiting on a colleague to code review my C++ to make sure I'm not leaking references left, right and centre and then I'll get the code up onto Sourceforge or somewhere similar for general public consumption.
If you're interested in the code then I'm gonna try and find a way of licensing it for everybodies consumption - contact me if you'd like more info.
The problem is that although that API is a COM API it's not very easy to consume - in fact, after spending a couple of days in .Net trying to build a PInvoke wrapper I gave up. It's all because one of the main calls that you require to get things going is CreateVssBackupComponents and that requires a pointer to a COM Interface passed into it - the problem is that that interface has no IID.
Now I never even knew that was possible and I'm sure it must be considered poor COM practice but nethertheless it's too late now - it's now in it's 2nd or 3rd iteration and I'm guessing we're stuck with it.
When I originally starting playing with the VSS SDK I hit this brick wall and never really receovered from it. The plan was to implement Volume Shadow Copy features into Hotspare but we ended up using the vshadow.exe tool in the VSS SDK within our scripts which solved the issue we had at the time.
Well recently I've come across Hobocopy and it looks like the author Craig Andera - who blogs here - had exactly the same experience. So it wasn't just my lack of PInvoke ability after all.
Ever the one to get stuck into a problem I decided to try out some Managed C++ and build a proper managed wrapper around the API. This is my first ever MC++ project and boy I was in for a suprise when I started. What are all the ^'s about! Those are pointers really and everybody know's it!
A couple of days later and the project is now feature complete. I'm waiting on a colleague to code review my C++ to make sure I'm not leaking references left, right and centre and then I'll get the code up onto Sourceforge or somewhere similar for general public consumption.
If you're interested in the code then I'm gonna try and find a way of licensing it for everybodies consumption - contact me if you'd like more info.
Solid State Disks
Well I finally have my Samsung 32GB Solid State Disk installed in the media bay of my laptop and boy is it quick. I bought it from Scan.co.uk - my usually hardware supplier and it turned up prompty as always.
I've yet to install an OS on it - just awaiting an external USB CD-ROM drive so that I can do an XP install but my initial thoughts are WOW.
I've done some basic benchmarking with h2wbench and the results are available here. To summarise the transfer rates are pretty reasonable - far better than I expected and the access times are beyond belief! The sooner the humble platter goes the way of the floppy disk the better.
More results once I've got XP install which should be later this week.
I've yet to install an OS on it - just awaiting an external USB CD-ROM drive so that I can do an XP install but my initial thoughts are WOW.
I've done some basic benchmarking with h2wbench and the results are available here. To summarise the transfer rates are pretty reasonable - far better than I expected and the access times are beyond belief! The sooner the humble platter goes the way of the floppy disk the better.
More results once I've got XP install which should be later this week.
Subscribe to:
Posts (Atom)