Knowledgebase 5th December
I've decided to put together a post of links I recommend or find useful this week
Metrics on the value of "Social Proof" http://techcrunch.com/2011/11/27/social-proof-why-people-like-to-follow-the-crowd/
Zero email policy - finding tools moire suitable than email http://news.yahoo.com/tech-firm-implements-employee-zero-email-policy-165311050.html
Pa
My grandfather, or as I knew him, Pa, died today.
I'm lucky because I have so many happy memories of spending time with him growing up. Every Easter, Mother's Day, Father's Day and Christmas our family would get together and go to Nan and Pa's house.
But the times when Pa was really in his element was when we spending time together outdoors. Every Christmas for a long time we'd go down to Bonnyvale in the Royal National Park. Nan and Pa would bring the huge esky down in the white Commodore, always in pristine condition and looking brand new. He'd load the kayaks on the roof and we'd have a picnic and go for a swim or paddle out in the bay.
During school holidays my cousins, sisters and I would stay over at Nan and Pa's house and go out for bush walks with him. I still remember Louise and I going for a walk with him in the Park when we spotted an Echidna crossing our path. We chased after it to get a closer look but by the time we reached it it had already started burrowing into the debris on the other side of the path. Imagine our surprise, as Pa, not to be deterred, started digging after it …
For someone who always came across as so conservative and proper it was always surprising but hilarious when he recounted with a cheeky smile stories of how he used to be “cockatoo” for his uncle who was a SP bookie in what would have been the 1930s. I'm not sure of the specifics but it was clear that that wasn't exactly 100% above board
And for someone who was always so active it was really heartbreaking to watch as the wear and tear of so many decades of hard work as a builder took it's toll, and even with a number of hip and knee replacements he slowly stopped being able to enjoy these things with us, and we all worried what Pa was going to do as he couldn't enjoy these things any more.
Over the last few years Pa persevered through all his physical ailments with so few complaints and a level of mental and physical toughness and fortitude I can only admire and be in awe at.
After his most recent operation in hospital he had an infection which spread throughout his body, along with, as we later found out, two kinds of cancer including one from working with asbestos for so many years. Still, gravely ill, he went through physiotherapy and did weights to bring himself back for a while, to spend more time with us.
Last Monday he was so gravely ill he was given the Last Rites by a priest in John Paul Village where he lived with Nan. He battled on for another eight days after that giving everyone a chance to see him and spend time with him, and I think, to say goodbye, and high five his great grandson Nate before he finally passed away this morning.
I'll always remember Pa as someone with fortitude born of pure determination, someone who believed in doing the right thing and worked hard to live those values, and someone who surprised us all when he broke through his serious side to laugh while telling us a story or joke that surprised us all.
I love you Pa, and I'm proud to be your grandson.
Microsoft Office keyboard shortcuts
I've added a new link to the blog today - Microsoft Office keyboard shortcuts. I highly recommend this to anyone using Office products - and in fact I think it's essential for productivity.
When I'm using Outlook I use a hierarchy of folders to store emails which require no further action*. The particular shortcut that led me to find this page was
Move item CTRL+SHIFT+V
It's worth taking the time to acquaint yourself with all of these shortcuts.
*When I'm using Gmail, I don't categorise - but that's because Gmail has a far superior interface for performing searches.
Administering IIS using Powershell and WMI
I was using the string Get-WmiObject -namespace "root\MicrosoftIISv2" -class "IIsWebService" to obtain a reference to the IIS Web Service, and recieving the following error:
PS E:\Projects\AllenAndUnwin\Build> Get-WmiObject -class IIsWebService -Namespace "root\MicrosoftIISv2"
Get-WmiObject : Invalid namespace
At line:1 char:14
+ Get-WmiObject <<<< -class IIsWebService -Namespace "root\MicrosoftIISv2"
+ CategoryInfo : InvalidOperation: (:) [Get-WmiObject], ManagementException
+ FullyQualifiedErrorId : GetWMIManagementException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
WMI Scripting needed to be installed for IIS. The installation procedure is slightly different for IIS 6 and 7:
- on a machine with IIS 6 installed, open add/remove programs and navigate to "Internet Information Services" > "Web Management Tools" > "IIS 6 Management Compatibility", then install "IIS 6 WMI Compatibility".
- on IIS 7, configure the Web Server (IIS) role and install "IIS 6 WMI Compatibility" under "IIS Management Console" > "IIS 6 Management Compatibility"
Android Development – ADT Eclipse error
I got Hello World working without any problems, but when getting the LunarLander example I ran into a bit of an issue ... "The project cannot be built until build path errors are resolved"
I found the solution at http://code.google.com/p/android/issues/detail?id=5509 (by Philip Lowman)
1. Right click in Package Explorer and choose Import
2. Choose "Existing project into workspace" under General
3. Click Browse next to "Select root directory"
4. Select the following folder in your android SDK directory:
samples/android-8/ApiDemos
5. Check the "Copy projects into workspace" box
6. Click Finish
7. The project should now build successfully.
Get started learning PHP
Someone I met the other day asked me how they could get started with PHP - should they do a course?
I don't think a course is the best way to start PHP - with so many good resources online you can get started and start writing practical PHP, and come back and use a book or do a course once you've already grasped the basics.
Tips
Make sure you understand
- the control structures like if, while, the difference between for and foreach
- most of the string manipulation functions
- print and echo and the difference between them
- some of the array manipulation functions
You will also want a really good grasp of how arrays work, it's a pretty long article but I'd read through the whole thing php.net/array . I think the biggest strength of PHP is its very flexible array implementation and understanding it well will give you a great deal of the benfits of PHP.
Once you have that covered move on to understanding the object oriented functionality that was introduced in PHP5.
Resources
Stackoverflow.com
This is a great resource for a number of languages. One of the cool things about having people who know all these different languages is they can look at something like PHP from a bunch of different perspectives. A lot of people say PHP is terrible, and they have their reasons ... But I also think that there are many cases where PHP is the best or most economically viable solution
http://stackoverflow.com/questions/309300/defend-php-convince-me-it-isnt-horrible
Some really good responses on this thread. This will give you more of a feel for the language at a bit of a higher level than the nuts and bolts of this or that function.
You can look at all the PHP threads here
http://stackoverflow.com/questions/tagged/php
php.net
Thisis the official resource. One handy thing about php.net is if you want to search for how to use strlen (string length) for example, just navigate to php.net/strlen and you will be redirected to that manual page. In the left hand column there will be a bunch of other similar functions to the one you just looked up - in this case string manipulation
phpclasses.org
This is sometimes good sometimes bad. they have a lot of resources on there but I've found some of the submitted code is unpolished. On the other hand I've used some email and graphing libraries from there and they have been fantastic.
So if you want to find a library to do something that you think might have been done before, sign up and check out this site, try things and be aware the first thing you download might not be the right tool for the job.
From time to time they also have great newsletter articles.
ASP.NET Control Lifecycle
Complete Lifecycle of an ASP.Net page and controls
http://blogs.thesitedoctor.co.uk/tim/2006/06/30/Complete+Lifecycle+Of+An+ASPNet+Page+And+Controls.aspx
Baretail – a great tool for montoring changing logs
Brian Canzanella blogged about Baretail in this article http://www.csharptocsharp.com/log4net-configuration-for-rockin-loggin
It doesn't look too special in the screenshot, but if you are looking for a tool which can monitor your logs live in Windows, this tool is fantastic.
Single sign on in Sitecore
Even after going through the Active Directory and Custom Providers documentation with a fine toothed comb, there was still an issue with Single Sign On. Every time I hit sitecore/admin/LDAPLogin.aspx - the 'configuration test' for SSO, which had anonymous authentication disabled and Windows Integrated authentication turned on, I was presented with a pop up login box. After several failures using login details I knew to be correct, I was presented with a 401.1 Error Page.
It turns out this is due to custom host headers being used on a local site. You can read about this in more detail here at Microsoft support.