Never ever I have realized the importance of proper documentation until I decided to try out Shibboleth, an open source web single sin-on solution.
Shibboleth is supposedly the best open source alternative to achieve web single sign-on across applications, against more established enterprise offerings such as IBM’s Tivoli (TIM and TAM). While I do not intend to talk about the purpose of such solutions, I want to emphasize the importance of documentation for any product like this. It has been over a week that I have been trying to set-up a simple end-to-end SSO in my local environment using Shibboleth. But in the absence of proper documentation, it has turned out to be a nightmare!
Before I decided to adopt Shibboleth, I had very scary reviews about its complications. Almost everyone who had tried it mentioned that it is quite a complicated nut to crack. Also, in spite of being the best offering, the adoption rate of Shibboleth does not sound great (at least in my knowledge).
Now, when I have gone through the entire process and close to get it running (well almost done!), I realize the root cause of the perception. The product seems good, but the documentation is horrible! It can confuse the hell out of you. In the absence of proper documentation, you are left upon your own to research through and get it up.
I am thoroughly convinced that a product/solution’s documentation is as critical as its architecture or features, UI or whatever. An OK product with a good documentation is better than a good product with bad documentation. Documentation can make or break your product!
Although I am myself not too good at it (more so out of less interest), hats off to all those people who are involved in great documentation and enabling people realize the product’s true potential.
I usually do not post my work related stuff. However, this one deserves a post!
Over the last couple of weeks, I got an opportunity to be a part of a demo, whose scale dwarfs all the projects I’ve been so far associated with (barring one during the early stage of my career). And the client was none other than the Indian Air Force!
My role in the entire solution was quite limited, so I got an opportunity to observe and understand what goes behind the scenes in such high net worth, high risk bids. The proposed solution spanned across various aspects of operations where a software solution could fit in. It involved security, document management, learning and knowledge management, ERP, content management and what not. Of course it involved more than one vendor coming together and propose the solution. While it was a very tensed and hectic two weeks, it was a great learning experience for me. Before I share those, I’ve come up with an analogy to explain the sitution.
What I observed was the fact that people had built great rooms with all amenities one could think of, but the rooms were never put together to build the house.
What I mean is that all modules were impressive and functional standalone, but when integrated, resulted in an enterprise disaster. At times, no one had a clue what was going along.
Moving ahead, I noticed that the most impressive demonstrations were not where we were trying to showcase the product, but those where we demonstrated how would the software solve the problem. The reviewers were not interested in what the software could do, they were more interested in how it would reduce their burden and improve efficiency. Even a very basic product with minimal features could win over a complicated one if it addresses the problem effectively.
I’ve realized this earlier as well. Some big products in the market have become so established that they *drive* the clients adopt to their implementation. While most organizations wouldn’t mind doing so, there are some who would not spare!
Lastly, I would like to mention that after this demo, I’ve developed a great respect for the Indian Air Force. These guys know *exactly* what they require. You just couldn’t convince them to succumb to the product’s hi-fi features which was worthless to them. They had a very clear picture of the final outcome.
I met some very talented people during the course of presentations and learnt a lot of things in the power packed two weeks.
Looking forward for more such opportunities!
“Caution! This is a lengthy post and not intended for casual reading. You can only appreciate this if you’ve faced the issue.”
At last, I am able to hibernate and resume my system successfully, which has been bothering for quite some time now. Just before writing this post, I hibernated and resumed my system for a whopping 15 times in a row!
Before I explain what worked for me here’s what I have:
For me, suspend always worked but on hibernating the system the screen goes black, with a blinking text cursor in the upper left corner and then the screen turns off but the power LED is still lit and the fan remains active till I press the power button to forcibly shut the system.
While there could be numerous reasons for hibernate/suspend not working, mine was attributed to the graphics card driver settings and the way the power management software dealt with the state while hibernating/resuming. After going through numerous forums, wikis and blogs hunting for the solution, I can safely say that 90% of the hibernate/suspend issues are attributed to the same.
Since I didn’t find the solution to the hibernate problem at a single place, it came out of a lot of trial and error. According to me, it makes sense to understand a couple of things before trying out the solution.
This suspend is a power saving mode while hibernate is a power sleep mode.
Now enough of theory, let’s get onto some practicals:
If you haven’t changed the default settings, Ubuntu Gutsy would most likely be using ACPI. Here’s how I proceeded:
Option “NvAGP” “1”
4. Prevent the OS from loading the default agpgart and the AGP driver for the chipset by adding the following in the blacklisted modules(type sudo gedit /etc/modprobe.d/blacklist on a terminal)
5. Modify ACPI settings
On a terminal type: sudo gedit /etc/default/acpi-support and ensure the following:
6. Finally if you’re using compiz (desktop-effects) in conjunction with NVIDIA binary drivers, make sure your “Sync to VBLANK” option in “Advanced Desktop Effects Settings > General > Display settings” is *disabled*. You can set this option to false by running:
gconftool --set /apps/compiz/general/screen0/options/sync_to_vblank 0 --type bool
This is just a compilation of information gathered through various forums/websites. Hopefully hibernate should work well by playing around with the settings as explained above. If it doesn’t, I can just say Good Luck! Keep trying! And please post anything which helped to get your Vostro hibernate 🙂