Archive for February, 2008

SBTUG: This Wed 27 Feb – Mike Culver, Steve Riley – Amazon Web Services, and Windows Security

Posted on February 25, 2008. Filed under: SBTUG |

Another monster meeting at SBTUG this month.

Presentations

Our first presentation has Mike Culver (Amazon Evangelist) talking about Amazon Web Services. Come along and learn how more than a quarter of a million developers are taking advantage of building applications on the back of Amazon’s infrastructure.

Following Mike will be Steve Riley, Senior Security Strategist with Microsoft, talking about all things security related in Windows 2008.

[This month’s meeting is combined with the Sydney .NET User Group]

Details

Date: Wed 27 February 2008

Time: 5:45pm

Venue: Microsoft, 1 Epping Road, North Ryde (Map)

Contact: call me on 0413 489 388 if you have any questions

Further details

Technorati Tags: , ,
Advertisements
Read Full Post | Make a Comment ( None so far )

ELCOM: More Microsoft 2008 Stack testing results

Posted on February 22, 2008. Filed under: Elcom |

We’ve done a little more testing of our product on the Microsoft 2008 stack and I’m pleased (and a little worried) with the results.

The pleasing part: we are now showing results on the 2008 stack as being 16X faster than the 2003/2005 stack.

The worrying part: results of 16X faster are very high – what if we’ve tested something incorrectly…

So, the goal of this post is to explain what we did and how we measured the results. Then, I’m after your feedback on what else we should be checking.

Background

First, the background.

In January we moved our Elcom web site over to the 2008 stack. That is, we recompiled our entire Community Manager application to target the .NET 3.5 Framework, moved to SQL Server 2008 CTP5 as the back-end and hosted it on Windows 2008 Server RC0. We immediately noticed that the site was much quicker. Browsing the site was faster and managing the content (through all the web based administration tools was very snappy). We then did some basic testing by launching 1,000 concurrent requests and measuring the delivery times. You can read the full results on Alan’s blog, but in summary, the 2008 stack was 5 times faster. Impressive stuff.

We always wanted to do some more detailed testing, but it wasn’t until Windows Server 2008 finally RTMed two weeks ago that we started testing again. This time round the techies wanted to beef up the testing a little.

 

Latest testing

Whereas our initial testing had been a simple comparison between Windows 2003 Server, SQL 2005 and .NET 2.0 versus Windows 2008, SQL 2008 and .NET 3.5, this time Alan set up testing for all 8 scenarios so that we could isolate which components of the 2008 stack were contributing the most. eg is Windows, SQL or .NET that is giving the improvement.

He also changed the testing method. This time, instead of just firing 1,000 requests he kicked of a loop of 1,000 sets of 20 concurrent requests. This is a more realistic scenario for what our sites experience. He fired this via a wget based Linux bash script.

The machines he used are as follows:

2008 stack machine: Intel Core2 Dual core 2.12 GHz, 2GB RAM, 160GB Seagate SATA drive.

Testing (Linux) machine: Intel P4 3.0 GHz, 1GB RAM, 80GB Seagate SATA drive [ie This machine is acting as a client]

As you might notice, the 2008 stack machine was acting as both the IIS and SQL server. Although not a production architecture, this was deliberate to ensure that network affects were minimised.

 

Results

Here’s the results so far:

Windows .NET SQL Duration (h:mm:ss) X faster
2003 2.0 2005 3:37:59 – baseline –
2003 2.0 2008 CTP5 not yet  
2003 3.5 2005 3:59:14 0.9
2003 3.5 2008 CTP5 not yet  
2008 2.0 2005 0:13:55 15.6
2008 2.0 2008 CTP5 0:14:17 15.2
2008 3.5 2005 0:13:43 15.9
2008 3.5 2008 CTP5 0:13:33 16.1

A few observations:

  1. We haven’t finished all our Windows 2003 testing yet. They take almost 4 hours to run, and the guys are fitting this testing all in amongst their normal daily work 🙂
  2. The main improvement is (obviously) due to Windows Server 2008, and IIS7
  3. Running the 3.5 Framework on 2003 with SQL 2005 is actually slower than with 2.0
  4. Some of the other results are also puzzling… for example:
  5. On Windows 2008, using SQL 2008 is slower than SQL 2005 when we target 2.0 but faster when we target 3.5
  6. Happily, the best result is achieved when using the full 2008 stack

If I put the results another way, we can see that adding 2008 components (Server, then .NET, then SQL) has incremental improvements eg

Windows .NET SQL Duration (h:mm:ss) % increase
2003 2.0 2005 3:37:59 – baseline –
2008 2.0 2005 0:13:55 1566%
2008 3.5 2005 0:13:43 1589%
2008 3.5 2008 CTP5 0:13:33 1609%

But there’s no escaping that the major improvements are all thanks to Windows 2008 Server. In general Windows 2008 is much faster, and our techies have already switched to using it as their desktop OS.

 

FAQ

Some questions. I’m trying to look at our testing as critically as possible. After all, 1600% improvement is something not to be taken lightly, and there will likely be a few people reviewing these results. So, I want to be clear on where we stand.

The first thing to state is that we are not a certified testing lab. So, this testing has been conducted on simple server hardware, and with tests that are geared to how we operate. We didn’t have any of our big rack servers available for testing, so the results are pretty ‘real world’.

Q: Why does it take almost 4 hours to do 20,000 requests on Windows 2003? Something must be wrong…

A: Yes, this concerned me as well. But here’s what I didn’t mention earlier. Each request we submit is returning our home page, plus graphics, plus all links from that page and any graphics and documents from those pages as well (ie wget with the u directive is basically spidering from the page). It turns out that each request is returning 6.4MB of data. Thus, 20,000 request in total is returning about 120GB. This is to emulate load testing the server. With Windows 2003 this takes over 3 and a half hours.

Q: Did you test on a smaller page?

A: Yes, we also performed testing on a landing page that returned 70KB. The results were much quicker, but in the same proportions.

Reducing page size down further to very small (eg an empty page, but still delivered by our Community Manager product) brought the comparisons closer, with Windows 2008 being only 4X quicker than Windows 2003. The 1,000 X 20 concurrent requests took 51 seconds on Windows 2003, but only 12 seconds on Windows 2008.

Q: Are the actual durations meaningful?

A: No, the durations on their own are not that meaningful, since changing hardware will obviously affect the results. What is meaningful is comparing the durations between the different scenarios.

Q: Did you try on different hardware?

A: Yes, we’ve managed to get our hands on a beefier machine (Quad Core 3.5 GHz, 8GB RAM) for a few days. Initial testing has shown quicker results on Windows 2003, but in the same order of magnitude (ie hours). Full results from that machine will be available in the next few weeks.

Q: How many times did you run these tests?

A: Most tests have been run a few times as the techies were setting them up and performing initial loops. All the test results are from testing scenarios run by Alan. Brad was then asked to run a few of the tests again independently. He verified the baseline 2003 Server result and the first of the 2008 Server results (ie with 2.0 and SQL 2005)

The results above are based on the last and most thorough pass (by Alan). Thus, it is the actual result, not an average of repeated tests. Ideally multiple results would be better, and as time permits, we’ll re-run all the tests, and provide averages.

Q: Did you perform any optimisation of the 2008 setup?

A: No, all test scenarios were conducted on freshly installed, out-of-the-box setups.

Q: Did you try optimising the Windows 2003 setup?

A: Yes, we did. The techies tried different combinations of turning on compression, increasing memory, CPU monitoring, tweaking application pools, and other memory changes. In all cases there was very minimal change in Windows 2003 performance. The results tabled above are based on the untweaked out-of-the-box installation.

Q: What version of Windows Server is the Elcom web site running on?

A: The actual live Elcom web site is still on Windows 2008 RC0. We aim to cut over to the RTM version once our SPLA license is finalised… 2008 SPLA licensing should be available this month (fingers crossed).

Q: Are you using any .NET 3.5 specific features in these scenarios?

A: No, we’ve made sure that the code base is exactly the same, the only change has been the framework version targeted during compile (and of course the IIS settings).

 

Next steps for Elcom

So, where to from here?

We’ll be moving a few of our client sites over to Windows 2008 hosting in the coming weeks (assuming licensing is all sorted). A few of our staging servers are already in transition. And from April onwards we plan to move all our hosting onto Windows 2008.image [We’ll still be supporting clients who host on Windows 2003 of course.]

Next, we are upgrading clients to .NET 3.5.

Our next Community Manager.NET release (in mid March) will be available in both 2.0 and 3.5 versions. The 3.5 version (which we are referring to as Community Manager 2008) will be essentially the same code base, with only a few new 3.5 features used for off-line services (the new System.AddIn stuff).

Our code base will be branched into the two versions for approximately 3 months until we’ve completed our testing and moved all clients over to .NET 3.5. After that we will return to having the one code base (ie just targeting 3.5).

SQL Server 2008 is still too early to make plans for. Whilst we will continue testing with it (especially with CTP6 just released), we won’t be moving any production systems (other than our own web site) over to it until much later in the year.

 

Over to you

There’s our situation. I hope it is helpful (or at least of some interest).

I’m keen to answer any questions, hear any criticisms and take on board any suggestions.

Please contact me via any method on my Contact page.

 

Read Full Post | Make a Comment ( None so far )

MICROSOFT: As good as open source

Posted on February 21, 2008. Filed under: Microsoft |

Ask most people what the best thing about Open Source is, and they’ll tell you one of two things:

1. It’s not Microsoft, or

2. It’s free

We’ve all heard the Cost of Ownership arguments and know that being free to use is not necessarily free to operate, but that’s not really an issue for people like, um, students.

Microsoft has unveiled its DreamSpark* initiative, in which students get a stack of developer & designer tools for free. Get them hooked young.

I think this is a great idea. In fact, always have. When I was at uni (back in the dark ages – I graduated in ’94 🙂 the main player in student developer tools was Borland. Why? Because they were dirt cheap. They lead the way with the whole academic pricing model that is now used by Microsoft, Adobe and others. I remember buying the full, enterprise, everything, all-you-can-eat, version of Borland C++ for something like a hundred bucks (retail was in the thousands) simply because I was a student. In fact I wrote my whole thesis in it (ahhh pointers, how I miss you not…).

Everyone in my course was using Borland and we were all hooked. And remember that Software Engineering as a degree was pretty new** in those days (I commenced my degree in ’89 and it had only been going for a few years prior to that I think). Anyway enough of the boring history, my point is this. Borland owned that generation of software engineer. Microsoft were quick to catch on and a few years after I finished, Microsoft Visual C++ had taken the top spot.

Microsoft’s recent decision to make their tools free to developers is a simple evolution of this. 15 years ago they were competing with Borland and cheap pricing. These days they are competing with Open Source and zero pricing.

So this is not a clever move, nor even a surprising move. It is a necessary move to ensure they can still have some hold on the crucial student generation – and thus tomorrow’s IT generation. It’ll be interesting to see how many of these licenses are claimed, and to compare that to usage of the Express range. My guess is that students are gonna flock to this like ants to a sugar bowl.

The only bad part – it won’t be available in Australia for a little while (since there is no verification system in place – as Long Zheng points out).

 

* btw I think DreamSpark is a dumb name.

 

** Note: I should clarify that Software Engineering is different to Computer Science – at least it was when & where I was going through. Software Engineering was new and came out of the Electrical Engineering faculty – and was a 6 year degree. Computer Science, which had been around for ages, was a 3 or 4 year degree (depending on electives). Interestingly, Software Engineering went down the DOS and Windows path, where as Comp Sci had a lot more Unix.

Read Full Post | Make a Comment ( None so far )

TIP: Using Jungle Disk and Amazon S3 for backups

Posted on February 14, 2008. Filed under: Tip |

You’ve all heard of Amazon’s Simple Storage Service by now. If not then check it out and sign up for own Web Services account.

Amazon S3 gives you access to scalable storage for 15c per GB per month, with a 10c per GB data transfer cost.

Assuming you just use the service to upload data for backup purposes you are getting high performance, scalable storage for 25c per GB per month. All charged to your existing Amazon account.

There are a bunch of utilities popping up to help with the transfer of data. One such program is Jungle Disk (cost $20). Once configured, it basically sets up a new drive mapping to your Amazon S3 storage.

Simply drag and drop files onto the drive (J drive on my machine) and it automatically copies them up to Amazon.

image

It can be set to do backups automatically as well (eg I have set it to copy stuff up in the early morning hours).

image 

There are numerous other online backup services available, and some work out to be cheaper if you have very large data storage requirements (eg >20GB).

However I particularly like the simplicity of the Amazon/Jungle Disk combination. In particular I like that Michele and I both have J drive’s on our machines pointing to the one S3 account. I can pull down a backup of Michele’s files onto my machine if required (and vice versa).

It is also easy to share files using this method (although there are cheaper methods of achieving that requirement I must admit). But paying a few bucks a month to have the security and ease of Amazon is a small price to pay.

(Jungle Disk also offer add-on services such as Web based access, you can find out more here.)

Technorati Tags: , ,
Read Full Post | Make a Comment ( None so far )

TIP: Problems with hidden Adobe download install files

Posted on February 8, 2008. Filed under: Tip |

PROBLEM: Adobe Download Manager hides files on your hard disk. As a result your install doesn’t work, and further you can’t find the hidden files to delete them.

SOLUTION: Find the hidden files underneath the \Temporary Internet Files\ directory

DETAILS:

If you’ve downloaded an Adobe product lately using their Download Manager you might have got frustrated because you suddenly found yourself with way less hard disk space than you thought you would.

This is because Adobe in their wisdom, hide the download files in a hidden virtualized directory underneath your Temporary Internet Files directory. The don’t tell you this of course, so whilst you think it’s downloading into:

c:\Users\craigb\Downloads\Abode\Premiere\

it is actually downloading into something like this:

\\localhost\C$\@GMT-2008.02.08-02.59.35\Users\craigb\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\craigb\Downloads\Adobe\Premiere\

I’m sure there is some well intentioned reason for this – most likely related to security privileges – but frankly, it is a crazy notion.

It quite often leads to a problem with installing (eg if you’re running UAC on Vista) because the <installer.exe> files don’t get the Administrator access they require. As a result, the installer extracts its files but then bombs out, and you end up getting all frustrated at how poor the user experience with Adobe products is.

Solving this one is easy enough – you just need to find where the hidden files are (that crazy directory path above), right click on the <installer.exe> and Run as Administrator. Or if the installer file needs to decompress, you can manually decompress it to a directory and run the installer from there.

For example, in my case I downloaded a Trial of Abode Premiere which came in at 2.74 GB. After downloading it, it wouldn’t launch the installer. I finally found the files:

image

I then manually opened the .7z file using WinRAR, extracted it to a directory (costing me another 2.7GB+) and was able to install it.

If you’ve got this far then you know roughly where the files are. But here’s the problem: If you go and look at the Temporary Internet Files folder in Windows Explorer the directories are hidden. You’ll see below that Windows shows it as having 0 subdirectories and 81 files (and that is in fact all you can see) where as the Properties for the subdirectory shows 96 files and 71 folders.

Changing your Windows Explorer settings to ‘Show Hidden files’, and ‘Not hide System files’ will make no difference.

So how do you find them?

image

To get access to the folders, go to the Previous Versions tab (on the Properties form above).

image

Click on Temporary Internet Files and click Open. Windows will now magically open a view of the directory, complete with all the hidden directories showing.

Dig into the Virtualized directory, and you’re on your way to finding those pesky hidden files.

image

Summary: Next time you find a big chunk of your hard drive mysteriously missing, go to:

C:\Users\craigb\AppData\Local\Microsoft\Windows\Temporary Internet Files\Virtualized\C\Users\

and start investigating (obviously you need to change the users directory to your own name (ie replace ‘craigb’). The path structure will be different if you’re using Windows XP.

[Note that in terms of terms of deleting the files you can actually achieve this by using the ‘Delete Browsing History…’ function in IE, but that will also wipe your Cookies, Form data, history, cached files etc – which you may not want to do.]

Is there an easier way of finding/showing these files? I hope so. If I’ve missed something obvious, please let me know in the comments.

Other Tags: Can’t install Adobe Premiere

Other Tags: Can’t delete Adobe hidden files, Adobe eats hard disk space

Read Full Post | Make a Comment ( None so far )

TIP: Changing Vista Desktop icon sizes

Posted on February 8, 2008. Filed under: Tip |

It’s easy to change the icons on your desktop in Vista if you have a mouse with a scroll wheel.

Simply hold down your CTRL key and scroll your mouse.

Forward to larger, back for smaller.

image

image

Technorati Tags: , ,
Read Full Post | Make a Comment ( None so far )

TIP: Wikipedia Search from IE7

Posted on February 6, 2008. Filed under: Tip |

Another one I didn’t realise existed… IE7 has a simple way of adding other Search engines to the Search box.

Just choose the Find more providers… option.

image

The one I use the most is the Wikipedia option – it’s very handy to search for a term on Google (my default engine) and the also check it out on Wikipedia just using the drop down.

(Firefox and other browsers have similar features as well.)

And as always, this Tip is covered under my ‘well duh’ Disclaimer.

Technorati Tags: , ,
Read Full Post | Make a Comment ( None so far )

VFP: Visual FoxPro Sedna release – biggest launch ever!

Posted on February 5, 2008. Filed under: Visual FoxPro |

TechCrunch went into meltdown with the news. CNN covered it live. And Super Tuesday has been rescheduled to cope with the disruption…

image

Amazingly though, in what I can only imagine is an embarrassing oversight, there was no press release about it.

In possibly the tiniest launch announcement I’ve ever seen (you’ll need hours to read through this comprehensive overview – NOT), Microsoft has finally (on 25 Jan) released Sedna – the add-on to Visual FoxPro.

Better than nothing I guess 🙂

Actually I’m pretty excited about having a play with this later tonight.

Craig Boyd has the details on Sedna being added to VFPx. He also reminds us about the DBi controls that can be downloaded.

image

Rick Schummer has a discussion of whether SP2 is required (make sure you read the comments as well).

Download Sedna here.

 

Who’d have thought…?

Technorati Tags: , ,
Read Full Post | Make a Comment ( None so far )

ELCOM: Career Plans for Developers – Part II

Posted on February 4, 2008. Filed under: Elcom, Management |

Further to my post about career plans for developers at Elcom, I wanted to mention the approach of encouraging staff to build their personal profiles.

It can be summed up in this attitude:

Your job (as a developer and employee) is to be so good that you are being chased by head-hunters all the time.

My job (as Technical Director) is to make the work environment so good that you don’t want to leave.

I feel this is a sensible approach, for a number of reasons:

Firstly, I don’t want staff who aren’t improving. Rather I want them continually pushing themselves to do bigger and better things. Momentum must be maintained. If we aren’t improving, then realistically we are going backwards…

Secondly, the better skilled they are, the better the result for Elcom.

Thirdly, the better well known they are, the more well known Elcom becomes.

Fourth, the better well known Elcom is, the better the caliber of candidate we can attract to join and grow Elcom.

Keeping a great team in place is a tricky thing, and I’m not claiming to be an expert at it. But in case you think that encouraging developers to be head-hunted is a crazy notion, here’s a few tidbits I’ve observed over the years.

The job market is tight

The first is that the IT market is very tight. If a developer wants to find a new job, they won’t have much trouble. And *some* recruiters are becoming more ruthless and unethical by the day…

So, if you assume that your staff will stay on board simply because they can’t get another job – you are deluding yourself – either that or they are so bad that they really can’t get another job and you should have fired them ages ago anyway!

Feeling valued

The second is that most developers want to feel as though they are making a contribution that is both valuable and valued. (Note: This, sadly, is the reason many look for another job – they feel a sense of being valued when some other company offers them a job). Thus, by encouraging developers to better themselves, and perhaps become well known in the community, we are encouraging them to feel valued.

We’re people after all

Thirdly and most importantly, developers are people. Sure, they are an asset, resource, body, project plan item, etc too. But the important thing is: we as people grow via our relationships. At work we need to remind ourselves every day that our relationships with our colleagues are what affect our morale, productivity, generosity and ultimately longevity in a company. Common sense I know. But easy to forget in the over-worked, email deluged, constantly interrupted hours between breakfast and bed time.

Have I missed something obvious? Please leave me a comment.

Technorati Tags: ,
Read Full Post | Make a Comment ( None so far )

CLARITY: VSTS, VSTO, VSTA, VSX

Posted on February 2, 2008. Filed under: Clarity, Microsoft, Technology, VSTO |

Seems like Microsoft is having a V Day, every day. Here’s a run down of the main V technologies/tools:

VSTS (Visual Studio Team System)

Firstly, Visual Studio. Visual Studio 2008 (the current version) is Microsoft’s IDE for building .NET based applications, be they Web, Desktop, Device or Microsoft Office based.

Visual Studio comes in a number of different versions, grouped into three main areas:

The premier version is called Visual Studio Team System 2008 Team Suite and includes everything from all the different-role based versions.

VSTO (Visual Studio Tools for Office)

VSTO is Microsoft’s tool set for building applications that run in Microsoft Office (eg Word, Excel, Outlook, PowerPoint). They are built using Visual Studio.

Originally a replacement for VBA (Visual Basic for Applications) in Excel and Word, VSTO was made available in its first version approximately around the start of 2004. The most recent version – VSTO V3 – was delivered as part of Visual Studio 2008 in November 2007.

The aim of VSTO is to provide tools for developers to build on top of Office as a platform. Using VB.NET and/or C#, developers can use Visual Studio to build add-in for most of the Office 2003 and 2007 applications, including Word, Excel, Outlook, PowerPoint, InfoPath and Visio. SharePoint and Groove development is also possible, al though not directly targeted.

(See also my further thoughts on VSTO here)

VSTA (Visual Studio Tools for Applications)

VSTA is a customisation toolkit for allowing your application to be extended (using .NET). You are basically exposing your application’s object model in a form that can be built upon using Visual Studio. You can even embed a cut-down version of Visual Studio into your application to allow customers to extend it without having to install Visual Studio.

If they do have Visual Studio installed, they’ll be able to built add-ins for your application.

VSTA comes from the same Microsoft product group as VSTO and shares a similar architecture. Here’s how they relate to each other:

Microsoft has a product (eg Outlook) that they want you to be able to extend. They use VSTA to allow their product (Outlook) to be extended using Visual Studio. They call their extension toolset VSTO.

(Note: They don’t embed the cut-down version of Visual Studio into Outlook, but the concept is similar to how they provide the macro editor embedded into Office.)

VSTA is reasonably new – the first version was announced in early 2006. The second version is due in early 2008.

VSX (Visual Studio Extensions/Extensibility)

It’s easy to get confused between VSTA and VSX. The difference is that with VSTA you provide extensibility for your application, whilst with VSX you build new extensions for Visual Studio. With VSX you are building something new onto the Visual Studio IDE.

Code Magazine recently had an entire issue devoted to VSX.

VSX is part of the Visual Studio Ecosystem of products, delivered via the Visual Studio 2008 SDK.

Microsoft has been focusing on opening up extensibility for Visual Studio a lot lately. Although the ability to do so has been around for a while, it is now free (previously it was licensed at a cost), licensing restrictions have been toned down, and the Visual Studio Shell has been released (meaning you can build Visual Studio Add-ins without even needing Visual Studio installed).

Also, a number of open source projects have appeared on CodePlex, including the World of Warcraft AddOn Studio.

Other V words:

VSS (Visual SourceSafe)

Microsoft’s long running source control product has been superseeded in many ways by the source control elements of Team Foundation Server, however VSS is still promoted and supported. Ideal for smaller development teams.

Volta (Volta)

A new initiative from Microsoft labs, as opposed to a product as such, this is a process of so called tier splitting, whereby the Volta technology takes a traditional WinForms application and splits it out into client and server tiers/components, all held together with Volta goodness. The server tiers can be transformed to being web based (JavaScript usage features heavily in this case).

Vista

I think we all know this one. Microsoft Vista is an operating system, and the successor to Windows XP. 

Technorati Tags: , , , , ,
Read Full Post | Make a Comment ( None so far )

Liked it here?
Why not try sites on the blogroll...