August 10, 2014

The Theory and Tragic Reality of IT Projects
It is still possible, and there are some shining gems produced this way, but most corporate software projects today involve groups of developers, often working in remote teams and with numerous personnel changes over the lifecycle of a piece of software. This type of project requires careful management, regardless of the programming language involved. Several different types of development model have evolved to cope with the challenges of creating software code that works well, is properly commented and can be updated later by people who weren't involved in writing the original program.


Cloud complexity hinders some enterprise adoption. So, what’s the answer?
The enterprise architect in me would suggest that the best solution for enterprises that are already hindered by architectural complexity without the presence of cloud computing is to get their respective “acts together” before they adopt cloud computing. However, the world does not work that way. In the real world, most enterprises would have to do a ton of work over many years to be perfectly ready to move easily to cloud-based platforms. The root issue is the ability to manage complexity, including the addition of applications (new and old) that will run on public cloud platforms. The trick is to think in terms of replacement, and not additions.


Why CIOs Must Rethink How They Measure Success
There’s only one problem: Most are measuring the wrong items. This became strikingly clear in a recent Forrester survey that asked CIOs, CFOs, and CMOs to define their top ten measurements of technological success. To say that the lists didn’t match would be an understatement. What CIOs considered the most important measurement, the percentage of projects that met or exceeded expectations, ranked fourth in the business leaders’ list. Conversely, the CMOs’ and CFOs’ most important metric, IT cost per business service, ranked fourth for the CIOs.


Artificial intelligence will not turn into a Frankenstein's monster
Yes, we do have lots of AI systems, like chess programs or automated financial transaction systems, or the software in driverless cars. And some are already smarter than most humans, like language translation systems. Some are as good as some humans, such as driverless cars or natural speech recognition systems and will soon be better than most humans. But none of this has brought about the end of civilisation (though I'm suspiciously eyeing the financial transaction systems). The reason is that these are all narrow-AI systems: very good at doing one thing.


To stop security breaches, kill the username and password
This is not a new idea. Far from it. The OpenID standard, for example, is basically the same concept, and there were others before. Meanwhile, the government has proposed its own solution, lovingly titled National Strategy for Trusted Identities in Cyberspace (NSTIC). OpenID found a fair bit of success when it comes to straightforward authentication tasks, but it's never been a player when it comes to online retail. Recently, major online identity companies like Janrain and Facebook have withdrawn support. (Facebook has launched its own authentication service, Facebook Connect.)


How Technology Can Fix 4 Big Problems of India
It has been predicted that some of the most fundamental problems in India like healthcare, food, water, and energy, are going to worsen alarmingly over the next three decades. Sure, the country has made a lot of progress over the last few decades, particularly since the economic reforms were initiated in 1991, but apparently, that’s way too little. Things have come to such that India’s most intricate issues are now likely to become almost impossible to handle unless something is done urgently. This will cause severe disruptions to lives and businesses. Maybe technology can help?


Microsoft blocking of old ActiveX not enough
App development rules for these environments are strict and the developers must pay Microsoft for the privilege of being a developer and of testing and hosting their apps. But the problems are far from insurmountable. For one thing, I see no reason why Microsoft would need to host anyone else's code. For another, Microsoft could set terms for allowing third parties into the system. One option would be for the Windows Update servers to serve code hosted on other vendors' servers. Or Microsoft could license Windows Update server software to the third parties to run on their own servers, and their installation process could configure the Windows Update client to look for updates on those servers as well. Or Microsoft could host the third party code


.NET CLR Injection: Modify IL Code during Run-time
Modifying .NET methods' MSIL codes during run-time is very cool, it helps to implement hooking, software protection, and other amazing stuff. That's why I want it, but there is a big challenge on the road -- the MSIL code could have been complied to native code by JIT-complier before we have a chance to modify; also the .NET CLR implementation is not documented and it changes during each version, we need a reliable and stable way without dependency to the exact memory layout.


Google's big-data tool, Mesa, holds petabytes of data across multiple servers
A Mesa implementation can hold petabytes of data, update millions of rows of data per second and field trillions of queries per day, Google says. Extending Mesa across multiple data centers allows the data warehouse to keep working even if one of the data centers fails. Google built Mesa to store and analyze critical measurement data for its Internet advertising business, but the technology could be used for other, similar data warehouse jobs, the researchers said. "Mesa ingests data generated by upstream services, aggregates and persists the data internally, and serves the data via user queries," the researchers wrote in a paper describing Mesa.


Enterprise Architecture: Don't Be a Fool with a Tool
As Viswanathan explains, there are three basic approaches to applying TOGAF: “The first approach is to baseline first, because it’s good for cleaning up messes. Second, target [business outcomes] first, which is best for greenfield companies.” But for many organizations, the mess is so bad that if they spent all their time on the baseline, they’d never achieve any business outcomes at all. For those organizations, Viswanathan recommends “some baseline, then target. Take an iterative approach. Take a pain point, create that slice of EA. Back the TOGAF cycle into that.”



Quote for the day:

"Decisiveness is a characteristic of high-performing men & women. Almost any decision is better than no decision at all." -- Brian Tracy