Search
Sunday, August 7, 2011
Preparing for TOGAF Certification
TOGAF 9 Foundation Level Certification – Question set 1
TOGAF 9 Foundation Level Certification – Question set 2
TOGAF 9 Certified Level Certification – Question on topics not available on the study guide
TOGAF 9 Certification Multiple Choice Questions by Chris Eaton
iQuiz – Quick Quiz System "
Book Review: Enterprise Governance and Enterprise Engineering
The book starts out with a nice introduction to the author's point of view regarding Enterprise Engineering and Enterprise Governance.
It then continues with chapters on Mechanistic and Organismic Perspectives on Governance, Enterprise Essentials, System Thinking, Corporate Governance, IT Governance, Enterprise Governance, and The Praxis Illustrated a case study.
One of the things I like most about this book is that it combines corporate governance and IT governance under the Enterprise Governance umbrella. Most larger organizations see IT in a supporting role instead of a strategic ally, which leads to the corporate or business decisions being only partially effective. The business makes their decisions in a bubble that does not provide a realistic view of their true context.
Another thing I really like about this book is that it is an engineering book. Some people may not like that. It lays down the theory as well as the implementation of practices. It is very detailed which at times can make for a difficult read if you aren't used to reading engineering books."
Sunday, July 31, 2011
iPhone 5 will be thinner, wider, and longer than the iPhone 4
5 reasons Google+ is here to stay
Martin Owens: Python List Inheritance Post Creation Pattern
One of the fun things to do with python is to use the language to bend the rules of programming. One neat way of using your resources wisely with objects is to create objects in the right places, but not generate or call costly data gathering operations until you absolutely need to.
So called ‘late data initialisation’ is useful in certain kinds of programs. I document here the best pattern I’ve found to turn a python list into a late data class:
class newList(list):
@property
def data(self):
if self.populate:
self.populate()
return self
def populate(self):
print 'Generating Now'
for x in range(42):
self.append( x )
self.populate = None
def __getitem__(self, key):
return super(newList, self.data).__getitem__(key)
def __len__(self):
return super(newList, self.data).__len__()
def __iter__(self):
return super(newList, self.data).__iter__()
Basically populate can be any piece of code which calls what ever it needs in order to gather the data. It’ll only be called once and to prevent having to use an __init__ variable we just clobber the method attribute. Sneaky!
When the list is used for an iteration (for loop), or if you delve into it directly for a specific item, or need to know it’s length, then we can get the data behind our object and have it contained within the list object we’re inheriting. No need for secondary list object variables dangling off of self. Ugly! Although this pattern does require that every use you want to put the object to (i.e. string, representation, slicing, dicing, mincing or conditionalising) you’ll have to make a new super method to wrap around to make sure that the data is generated if that’s the first way the list will be used.
What are your thoughts about this pattern? Do you know how to fix the init issue with a better pattern?
"