Recently, I've been involved in a project, that has its phase 1 dragged for several weeks. There are many factors at work for the delay, which I won't discuss. But one of the factors can probably be addressed technically, by automated testing.

 

I’ve been reading up Agile methodology, more towards Test Driven Development. Agile, or rather, extreme programming (XP), is something I first hear about from Dr Neil Roodyn who talked about extreme programming in a SgDotNet meeting in Jan 2005. He shared how XP helped his team complete an impossible job within the impossible timeframe, which another team before him has failed to deliver without XP, and different ways his team has done to indicated if the build process has passed or failed, by hooking a green and red lava lamps to the build server. The green or red lamp will light up when the build process is successful or failed.

 

Recently, I’ve picked up a book titled “scaling software agility” by Dean Leffingwell from the library. In the book, it quote Forrester Research [2005] in the following statistics

Agile software development processes are in use at 14% of North American and European enterprises, and another 19% of enterprises are either interested in adopting agile or already planning to do so.

In a survey of 21 companies using or considering using an agile process, Forrester notes their reasons:

-          Productivity and time to market (66%)

-          Reducing cost (48%)

-          Improving quality (43%)

Shine Technologies, and Australian group surveyed 131 respondents from teams and companies that applied agility in 2003.

-          93% stated that productivity was better or significantly better

-          49% stated costs were reduced or significantly reduced, 46% stated that costs were unchanged

-          88% stated that quality was better or significantly better

-          83% stated that business satisfaction was better or significantly better.

 

While benefits are high statistically, I’m sceptical if it will work in this region, since there are lots of factors that are different, than in region that are adopting agile practices. If you are one of those who are using agile in your project, I would really love to invite you to share your experiences in our next usergroup meeting.

Project has finally been released to public, with source code for you to build the project. There isn't any documentation attached, but two custom document library and list to enable a subset of custom document library and list if you do not want to enabled all the document library in the farm.

This pet project will continue to grow, as my knowledge base will start to use wiki to capture some information (custom list not suitable to capture snippets of information because of the presentation), support version and image attachments. Neither will I have a timeline, unless someone is willing to collaborate and contribute.

Check it out @ codeplex

http://hight3ch.com/post/mythbusters-busting-the-fingerpring-lock/

So there goes all your fingerprint locks...

I've been playing with HyperV as an {Insiders} on the IT Momemtum initiative, thanks to Dennis Chung. When I travelled to Redmond to attend MVP summit, I did a video interview with Adam Carter, and the video is released @ http://edge.technet.com/Media/Loke-Kit-Kai-on-Hyper-V/.

Never did video interview before, and because of the summit schedule, I didn't prepare for it. Thanks to Adam Bomb, who tried to make the interview casual, but I still pretty much made mistakes. Don't know when I will get another opportunity, but will definitely improve if given another chance... :)

Been playing with SCVMM, and will be blogging about that soon. But that would be after I've published on CodePlex the enhanced email-enabled library.

Social Computing, distractions or a useful tool? From my limited opportunities in using and hearing this technology, I think most people associates this with facebook, twitter. Probably there are already some corporate environment that already implement this in some form using SharePoint, achieving part of it using mysites. Not very sure about what other vendors are doing in this space, but none seems as loud as Microsoft is, through Knowledge Network in SharePoint 2007 beta 2 timeframe. I believe many organization associates social networking sites as distractions to the employees, which implies lower productivity. Thus many companies including the one I work for deny employee access to this kind of web sites. Some companies even blocks instant messaging, which gave me lots of grieves because I no longer have quick access to my network of friends who are smes in their own fields. If companies block access to public social network sites, that I can understand. Though facebook helps me get connected to long lost friends, it proves to be more of a distraction with all the games it has in it. Currently, I'm addicted with Knighthood, a medieval strategy game of balancing our resources... But if companies just refuse to just take a look at what social network because of the distractions that it brings. But what does social network bring? Who would benefit most with a social network implemented in the corporate network? I don't read a lot about social network, its not part of my job scope yet, so the points below derived from my experience with facebook, community, and imagination.

1. Social network helps me get connected with people, and especially useful in helping me discover relationship in my network of friends. Being in facebook surfaced relationship like my friend is actually my colleague's wife, or my partner's wife is my friend's sister. How does it help in my work? Very often, people tend go an extra mile to help those they know personally, and help strangers when they have free time. There are exceptions of course, but I believe this applies more strongly in this part of the world where IT professionals are mostly overworked. So discovering this relationships to subject matter experts (sme) will allow you to ask your colleague to introduce you to the sme in question to ask for advise. You get higher chance of him helping you especially when it is not part of his kpi to help.

2. Social network also help you keep updated with what your colleagues are doing. MySite in SharePoint does inform you when your colleagues update their profiles. NewsGator is doing some fantastic work on social networking with Social Sites (http://www.newsgator.com/Business/SocialSites/Default_what.aspx), where they are able to not only bring in news feeds from external sites, but tag it as well. What's more important is the content that your colleagues are contributing in their daily work gets surfaced through social network. I mean, with file systems, you only get hold of content that may be useful to you when you either
○ Have a problem on hand, and does a search
○ Actively contributing to the content
○ Notified But with social network, and tagging, information that you are interested in gets surfaced to you.

3. Because of the discovery aspect, it helps to motivate people to contribute content into the social network. Company policies to encourage sharing will definitely help, but intangible benefits like slowing giving someone the chance to grow into a SME while he shares what he has learnt on the job, and distributed more widely by community tagging and subscription.

4. You are unconsciously learning and growing with the network. This is personal experience, where because SharePoint is so huge, that no one in the world, (I bet even product team) can master every aspect of the product. With RSS feeds, I get to discover and learn from other people's experiences and store them behind my head, waiting to be used some day. With a more personal distribution list, I get to learn what other experts are facing and with a community in place, every one benefits as every one shares different opinions of solving the problem.

There are probably more benefits, and I believe companies that will definitely benefit most are companies that depends on their staffs to give the edge over their competitors. Companies that depends on knowledge stored, but not hidden. There are also many reasons why companies resists this. But there is one particular reason that will get strong reasons from me. Companies that are afraid of social network as it may become a distraction. My question to them would be, don't they have performance KPI in place? No human being with a sound mind would spend time and do anything that doesn't benefit them. Of course, for these to succeed, company policies and culture have to support.

Though it is almost at the bottom, it is still an honour for me... :)

http://www.sharepointjoel.com/Lists/Posts/Post.aspx?ID=30

Not sure if this applies to virtualised instances of ISA 2006 on virtual server, but it sure does on HyperV. There are many variants of the problem which you can find on the internet. Here's mine

I've set up ISA 2006 on a virtual host with three network cards. One for management, one for virtual machines, and one for the Internet. ISA 2006 is connected to two of them, virtual machine and internet. Set up all the rules as I did on my physical host which is about to be decommissioned, but the funny thing is Internet access on the ISA is fine, but not on other clients. Monitoring the log tells me that all traffic is being blocked by the default enterprise deny all rule, even though the source to destination and protocol matches the rules above it.

I also realise that start-up and shut-down of ISA takes a fairly bit of time, and accessing the certificates is a pain. Remembering that other MVPs faces some problem with virtualised ISA, and many of them disabled TCP Offloading and it solved their problem. That works for me too, and it solved all the slow start-up, shut-down and access certificate.

Previously, I've mentioned that I've replaced my motherboard with Asus Rampage Formula. This board comes with a dual gigabit lan port. So I was playing with the network configuration on my hyper-v host. The LAN Left is where the virtual network switch is attached to, and all virtual machines uses this to communicate. The LAN Right is where the host is using to communicate.

I remember seeing a network layer diagram somewhere which I can't find now. It says that when network traffic comes into a network card, it will route the traffic to both the host and the virtual machine network switch, which means installing ISA on virtual machine does not protect the host. Installing IS on host does not protect the virtual machines if they are listening to the external network card.

Since I now have a dedicated lan port for the host, I was playful, and disabled the LAN port for virtual machines on my host. If I do that on virtual server / virtual pc, I'm quite sure that the network connectivity will be gone, even though the network cable is still shown as attached. But in Hyper-V, it is still working! I can access my virtual machines from my laptop, and vice versa. In fact, if i disable both, I still have network connectivity to my virtual machines, though I won't be able to access the host!

Now, if I virtualise ISA, since the virtual network switch does not have an IP, and the external network card does not have an IP for the host, does it mean that all network will go through ISA? Does it means that my ISA really behaves exactly like a physical box, without compromising the host?

Cool huh?

[Updated]

Found something that explain how networking works in hyper-v

Details and download bits can be found here.

Just some additional details. If you have existing Windows 2008 virtual machines, you need to download this and package it into an ISO to mount it into the virtual machine's CD-Rom drive, as you will lose your network connections after upgrade.

For your existing windows 2003 or windows XP machines, you just need to update the Integration Services

Updates: For windows 2008 x64 virtual machine, you need to install the same bit you installed on the host before you get your network back.

Sigh, for the past three days, I was trying to fix my hardware, as one fine morning, the PC is beeping continuously. After reboot, it is checksum error. Naturally, thinking its motherboard problem, I went to buy a high-end gaming rig (Rampage Formula), as that would be better to run 24x7 rather than a normal motherboard, but later realise that it is the CPU that short-circuit the motherboard. A few trips to Sim Lim, and I got myself a quad core, while waiting for my E6600 to be replaced by Intel.

And you know what I saw in Sim Lim? A gigabyte motherboard that says "Support 6 quad processor"!!! I ask the person, what does that mean. He says 6 core is coming out soon!

http://www.engadget.com/2008/03/18/intels-6-core-dunnington-coming-in-2008-nehalem-official/

More reasons to play with HyperV! Now, if only motherboard comes with more ram slots...

Found this will reading Ken Schaefer's blog. It is about moving your virtual machines around.

While this seems to be better than exporting and importing, I still prefer the old ways of moving virtual machines. Just move the harddisk with the virtual machine configuration file. I haven't tried this yet, but looking forward to the day when I have enough money to get a desperately needed new SATA drive to "load balance" my IO traffic...

It has been an eventful week for me... First, I was nominated as one of the 20 local IT hero by Microsoft. So I was @ the launch event to be honored, and I receive a certificate of thanks, and a wonderfully designed personalised jacket, which I love so much!  Thanks Yasmeen for designing that!

Next thing I know, I was asked by Microsoft if I'm ok to be interviewed by 93.8 Live! Nervous, of course, but I want to experience how it was like to be on radio... So this morning, I went to mediacorp to meet Stanley Leong, the host, together with two other Global IT Hero, Lup Yuen, who happens to be my colleague, and Pom. I was surprised that my Marketing Communication people are there as well, since the program is interviewing the IT Hero, not my company.

Anyway, I really have to thank Steven Leong for being such a good host in helping us IT guys chat naturally. Personally, I think there are so many others out there that deserves the honour, countless hours you guys have put in, and yet not appreciated by your company. Making you guys work till 3 am, and if you leave at 9pm, you are branded as not committed. To you guys, I salute you.

But there is one thing that really got me pissed off. After the interview, the marketing communication person tell me that next time, if there is such interviews, please let them know, and prepare a script of what I'm going to say for them to vet. There are things they don't agree! But come on! The interview is about IT heros in the industry! Not IT Heros in my company! What I have mentioned is a common problem in the industry! Sales people basically oversell! Delivery people, has to deliver! PERIOD! Now that I'm in the position to do damage control to not oversell when I'm designing the architecture and drawing the proposal, that makes my company credible right?

Anyway, the experience was really cool. There is a repeat tonight around 10:30pm... Will be listening in and see how I sound... :)

While there are two other products, like Visual Studio 2008 (which I should be more familiar, since I'm a Dev, but that's not the case, thanks to Windows Insider), and SQL 2008, I'm looking at Windows 2008 more than anything else, since I'm very interested in virtualisation.

I've started with using Virtualisation heavily when I was working with Commerce Online, of course doing SharePoint development. At that time, VMWare was king (and still is), while Microsoft just release Virtual PC 2004 (I think). The company was using VMWare more, hence I too was using VMWare to do development. At that time, it was VMWare 5.0. It does save me lots of time, when development turns sour, since SharePoint 2003 was very fragile (compared to SharePoint 2007), especially when you are doing hardcord customisation with CAML, Site Definitions etc. One wrong move, your entire server is down. Snapshots helped me a lot, but my one single complain was memory leak, which requires me to reboot the laptop after I stopped the virtual machine, as resources wasn't released.

When Virtual Server is out, I started to try it out. Compared to VMWare, there isn't much features. With one level of undo, you need to remember to commit changes at every milestone, or risk losing all your work when your virtual machine dies. Another thing I used was differentiating disk, which I built a base virtual machine with windows 2003, build another base with SQL and SharePoint differented from the Windows 2003 base, and have instances on top of the SharePoint base. However, perforamance sucks, and I quickly reverted to single disks, making copies instead of creating differentiating, effectively increase my storage requirements

Then I've decided to buy my own pc, since I'm facing hardware crunches already in this company, plus all the goodies I'm receiving as an MVP to play with cutting edge (or bleeding edge) technology. Even at financial crunch (wedding, house, renovations) I still decide to get a CPU with good L2 cache, and hardware virtualisation, anticipating for the arrival of Hyper-V, in slightly more than a year's time. At the mean time, my C2D 6600 cpu with 4 gb ram continued to run virtual server, meeting all my development needs, especially building testing environment for MOSS beta. But using virtual server did limits me, as I can only assign one cpu to a virtual machine, and no x64 support. This means that SharePoint x64, ad exchange 2007 is out of my reach.

Last year, Dennis graciously included me in his Windows Insider program, and I learn quite a lot of stuff about Windows 2008. Things that caught my interests is Terminal Services, and of course virtualisation. I immediately wiped out my machine and put Hyper-V up. Migrated all the virtual machines I have to Hyper-V, and something prompted me to increase my ram to 8GB. Before Hyper-V, cpu usage was high, above 50% with about 3 to 4 virtual machines running. With Hyper-V, and 4GB ram, my CPU usage overs at 10%. With 8GB, it hovers at 10% as I'm not running 1 AD, 1 CA, 2 MOSS, 1 Exchange (which eats up 2.5gb ram). I'm looking at my task manager, and per core, there are only 6 peaks most hitting only 50% - 75% in the graph at one time. The only crunch time is when my SharePoint is doing profile sync and indexing, which by that time, I suspect its IO that is the bottleneck. All my virtual machines are running off a single sata harddisk, so that's my next upgrade.

Moving on to my new role in CAO doesn't reduce the need for hardware. Without support from company to provide hardware for my playground, I found myself using my hardware more and more, intensifying my desire to get a second powerful machine for virtual host (hoping for fat bonus this year, or anyone willing to sponsor?... :p). And nope, lack of company support does not quench my thirst to learn more of the technology. Now with Exchange 2007, I was able to try out incoming email in detailed, which I would have otherwise missed. And as my boss wants to grow me further, with virtualisation I can play with other products in the Microsoft stack, and other portals outside Microsoft Platform...

I even excited my new colleague, Alvin Lau, in Hyper-V, and he is in the process of setting up his own environment, and we even have plans to set up adfs between our two home network, just to have an environment to test out extranet scenario when our solutioning job requires it.

So why am I writing about this, right before the launch? Two things that virtualisation brings to the table. I'm sure SME (licenses aside), will be trying to save on hardware, and faces the hardware crunch as I am constantly facing (I'm almost like sme, just that I don't make money out of my hardware investments). But I'm sure whatever application you want to run will not fully utilise your dedicated hardware. Virtualisation can help you squeeze more from your hardware... Of course MNCs will benefit as well, with snapshots and other stuff, but many says that Hyper-V is still behind VMWare, which I agree, but not too sure to what extend, since I'm actually not IT Pro, and I'm not very into the operational aspect of IT.

For developers out there, whose company is just giving you a 1gb or 2gb laptop for development, especially those in the end user environment. I don't know if you will agree with me, but I do envision SharePoint being part of the infrastructure one day. (It is already happening in a few engagements I'm involved). Rather than letting such medicore hardware slows you development time, and limits your ability to pick up new skillset, why not invest in one machine that allows you to do virtualisation, be it Hyper-V or VMWare, which you can dual boot for your gaming needs. Get your work done faster so you can return home earlier, and use that to pick up new skillset too!

I guess Microsoft still need to release an Express version of Hyper-V... :P (not suggesting there is one...)

Anyway, back to the launch. Computer Times actually asked me to pen some thoughts about Windows 2008, with regards to certain topics. Of course, I picked on Virtualisation. Lucky I was informed by friends that it came out in today's Computer Times... So I grabbed a copy to keep. Check that out if you want... :) See you tomorrow at the launch!

 

It have been some time since I've done this poll. There isn't a lot of responses, probably lack of interest in this area. I actually wanted to keep the code to myself, but I may just put it to codeplex, not sure yet. Anyway, this is what I did.

 Basically, I've created a process of filing documents, and items into my personal KM. It is not a one email filing, but a series of emails that needs to be sent, if you do not have the template. That helps users not to remember the format of the email, and also prevent a chatty interface.

For a first time user, he / she will be sending a blank email to the document library / list, with the subject [Request]

After sending out the email, the user will get a reply from SharePoint, asking which content type he / she wants to file as.

As you can see, the list of content types configured for the document library / list are listed below the field. User just need to hit "Reply", and copy and paste the content type he is interested in filing against, and send it out.

SharePoint will then send a template email for end user to start the actual filing. This template can be kept for future filing, avoiding the first two steps.

The user just need to change the subject, as the system will use the subject as the title, attach the document, fill in the meta data below and send it out.

I still need to add support for multivalues, and user fields. Once that is done (with no timeline in sight), I'll consider publishing it in codeplex.

Comments are greatly welcomed.

More Posts Next page »