Search

Sunday, August 7, 2011

Preparing for TOGAF Certification

Preparing for TOGAF Certification: "If you are preparing for TOGAF certification here are links to pages containing free sample practice questions.
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

read more

"

Book Review: Enterprise Governance and Enterprise Engineering

Book Review: Enterprise Governance and Enterprise Engineering: "This is the last book in the Enterprise Engineering Series I had to read. It covers a ton of topics and covers them in-depth.

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.

read more

"

Sunday, July 31, 2011

Java 7 now available, 5 years after the last update. Here are the new features and facts

Java 7 now available, 5 years after the last update. Here are the new features and facts: "submitted by geeklove3r
[link] [15 comments]"

Apache and Oracle warn of serious Java 7 compiler bugs

Apache and Oracle warn of serious Java 7 compiler bugs: "submitted by UyenIFW
[link] [6 comments]"

iPhone 5 will be thinner, wider, and longer than the iPhone 4

iPhone 5 will be thinner, wider, and longer than the iPhone 4: "Recent photos suggest that the iPhone 5 will sport a completely redesigned form factor and will be thinner, longer, and wider than the iPhone 4."

5 reasons Google+ is here to stay

5 reasons Google+ is here to stay: "A few weeks in, the honeymoon period is over for Google+ and it seems like some people are already losing interest. Yes, the backlash has already begun. But is Google+ going to fail? In a word: No+."

Martin Owens: Python List Inheritance Post Creation Pattern

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?

"