Monthly Archives: December 2008

Top 10 Strategic Technologies for 2009

Gartner held a Symposium/ITxpo back in October which highlighted the top 10 strategic technologies for 2009. Gartner defines a strategic technology as one with the potential for significant impact on the enterprise in the next three years. Factors that denote significant impact include a high potential for disruption to IT or the business, the need for a major dollar investment, or the risk of being late to adopt.

These technologies impact the organization’s long-term plans, programs and initiatives. They may be strategic because they have matured to broad market use or because they enable strategic advantage from early adoption.

“Strategic technologies affect, run, grow and transform the business initiatives of an organization,” said David Cearley, vice president and distinguished analyst at Gartner. “Companies should look at these 10 opportunities and evaluate where these technologies can add value to their business services and solutions, as well as develop a process for detecting and evaluating the business value of new technologies as they enter the market.”

The top 10 strategic technologies for 2009 include:

Virtualization. Much of the current buzz is focused on server virtualization, but virtualization in storage and client devices is also moving rapidly. Virtualization to eliminate duplicate copies of data on the real storage devices while maintaining the illusion to the accessing systems that the files are as originally stored (data deduplication) can significantly decrease the cost of storage devices and media to hold information. Hosted virtual images deliver a near-identical result to blade-based PCs. But, instead of the motherboard function being located in the data center as hardware, it is located there as a virtual machine bubble. However, despite ambitious deployment plans from many organizations, deployments of hosted virtual desktop capabilities will be adopted by fewer than 40 percent of target users by 2010.

Cloud Computing. Cloud computing is a style of computing that characterizes a model in which providers deliver a variety of IT-enabled capabilities to consumers. They key characteristics of cloud computing are 1) delivery of capabilities “as a service,” 2) delivery of services in a highly scalable and elastic fashion, 3) using Internet technologies and techniques to develop and deliver the services, and 4) designing for delivery to external customers. Although cost is a potential benefit for small companies, the biggest benefits are the built-in elasticity and scalability, which not only reduce barriers to entry, but also enable these companies to grow quickly. As certain IT functions are industrializing and becoming less customized, there are more possibilities for larger organizations to benefit from cloud computing.

Servers Beyond Blades. Servers are evolving beyond the blade server stage that exists today. This evolution will simplify the provisioning of capacity to meet growing needs. The organization tracks the various resource types, for example, memory, separately and replenishes only the type that is in short supply. This eliminates the need to pay for all three resource types to upgrade capacity. It also simplifies the inventory of systems, eliminating the need to track and purchase various sizes and configurations. The result will be higher utilization because of lessened “waste” of resources that are in the wrong configuration or that come along with the needed processors and memory in a fixed bundle.

Web-Oriented Architectures. The Internet is arguably the best example of an agile, interoperable and scalable service-oriented environment in existence. This level of flexibility is achieved because of key design principles inherent in the Internet/Web approach, as well as the emergence of Web-centric technologies and standards that promote these principles. The use of Web-centric models to build global-class solutions cannot address the full breadth of enterprise computing needs. However, Gartner expects that continued evolution of the Web-centric approach will enable its use in an ever-broadening set of enterprise solutions during the next five years.

EnterpriseMashups. Enterprises are now investigating taking mashups from cool Web hobby to enterprise-class systems to augment their models for delivering and managing applications. Through 2010, the enterprise mashup product environment will experience significant flux and consolidation, and application architects and IT leaders should investigate this growing space for the significant and transformational potential it may offer their enterprises.

Specialized Systems. Appliances have been used to accomplish IT purposes, but only with a few classes of function have appliances prevailed. Heterogeneous systems are an emerging trend in high-performance computing to address the requirements of the most demanding workloads, and this approach will eventually reach the general-purpose computing market. Heterogeneous systems are also specialized systems with the same single-purpose imitations of appliances, but the heterogeneous system is a server system into which the owner installs software to accomplish its function.

Social Software and Social Networking. Social software includes a broad range of technologies, such as social networking, social collaboration, social media and social validation. Organizations should consider adding a social dimension to a conventional Web site or application and should adopt a social platform sooner, rather than later, because the greatest risk lies in failure to engage and thereby, being left mute in a dialogue where your voice must be heard.

Unified Communications. During the next five years, the number of different communications vendors with which a typical organization works with will be reduced by at least 50 percent. This change is driven by increases in the capability of application servers and the general shift of communications applications to common off-the-shelf server and operating systems. As this occurs, formerly distinct markets, each with distinct vendors, converge, resulting in massive consolidation in the communications industry. Organizations must build careful, detailed plans for when each category of communications function is replaced or converged, coupling this step with the prior completion of appropriate administrative team convergence.

Business Intelligence. Business Intelligence (BI), the top technology priority in Gartner’s 2008 CIO survey, can have a direct positive impact on a company’s business performance, dramatically improving its ability to accomplish its mission by making smarter decisions at every level of the business from corporate strategy to operational processes. BI is particularly strategic because it is directed toward business managers and knowledge workers who make up the pool of thinkers and decision makers that are tasked with running, growing and transforming the business. Tools that let these users make faster, better and more-informed decisions are particularly valuable in a difficult business environment.

Green IT. Shifting to more efficient products and approaches can allow for more equipment to fit within an energy footprint, or to fit into a previously filled center. Regulations are multiplying and have the potential to seriously constrain companies in building data centers, as the effect of power grids, carbon emissions from increased use and other environmental impacts are under scrutiny. Organizations should consider regulations and have alternative plans for data center and capacity growth.

“A strategic technology may be an existing technology that has matured and/or become suitable for a wider range of uses,” said Carl Claunch, vice president and distinguished analyst at Gartner. “It may also be an emerging technology that offers an opportunity for strategic business advantage for early adopters or with potential for significant market disruption in the next five years. Companies should evaluate these technologies and adjust based on their industry need, unique business needs, technology adoption model and other factors.”

Additional comments from Mr. Cearley are available on the Gartner YouTube channel at http://www.youtube.com/watch?v=-yglJUxqSCM. Additional videos are available at http://www.youtube.com/gartnervideo.

Follow news, photos and video coming from Symposium/ITxpo on FriendFeed at http://friendfeed.com/rooms/gartner and on Twitter at http://twitter.com/Gartner_inc.

Twitter in Plain English

I often get asked “what exactly is Twitter?”  While I’m not an uber Twitterphile, I do have alot of friends who use it regularly, and I actually enjoy following them.  Twitter is a great way to stay connected, whether you want to [self] promote yourself, or just get updates from others.  Either way, if you’ve ever wondered what twitter was all about – this is the video for you…

CodeMash Bloggy Goodness

Catherine Devlin, a python and Oracle connoisseur, published Planet CodeMash using Yahoo Pipes!  Lots of attendees of codeMash are bloggers, as published at: http://groups.google.com/group/codemash/web/2008-codemash-bloggers and instead of clicking into each link to keep up, you can use pipes to aggregate feeds together into one master list, pretty cool!  You can check out here design notes here: http://catherinedevlin.blogspot.com/2008/12/planet-codemash-yahoo-pipes.html

Brief background on Pipes [source: Yahoo] – Pipes is a powerful composition tool to aggregate, manipulate, and mashup content from around the web.  Like Unix pipes, simple commands can be combined together to create output that meets your needs:

  • combine many feeds into one, then sort, filter and translate it.
  • geocode your favorite feeds and browse the items on an interactive map.
  • power widgets/badges on your web site.
  • grab the output of any Pipes as RSS, JSON, KML, and other formats.

Sounds good? Learn more….

Pipes sounds interesting, I’ve read about it, but haven’t yet had a chance to get my hands dirty with it yet.  I myself aggregate a TON of RSS feeds using NetVibes; I highly recommend them, not only can you organize content cleanly with tabs, it’s highly extensible with widgets – moving ever so closer to the elusive web desktop!  I myself use it as a glorifed RSS aggregation tool, and it works better than great!

Exchange 2007 (Edge) – Gotcha’s

Today was install our Exchange 2007 Edge server day.  A few weeks back, our primary Exchange 2003 server started showing her age, and we expedited our 2007 migration.  While we had Exchange 2007 prepped in our labs, due to our dependence on Exchange and signs of fatigue, we sped up the deployment, originally without the Edge role, which by the way worked just fine.

It’s probably important to note, Edge is an *optional* role, while it’s a best practice, you can technically run an Exchange 2007 environment with one server (having multiple roles.)  Since we depend heavily on Exchange, in a high-volume capacity, Edge helps us to optimize our environment and incorporate some advanced anti-spam/virus protection by moving the Edge server/role into a DMZ, reducing exposure to our primary Exchange mailbox store.

Today, I wanted get things wrapped up and finally got some time to devote to it.

First off, our install didn’t go according to plan.  It’s important to follow guidance on this, in this order:

  1. Verify DNS Settings prior to Exchange (edge) installation:  http://articles.techrepublic.com.com/5100-10878_11-6183045.html
  2. Next, you might want to review some deployment tips: http://articles.techrepublic.com.com/5100-10878_11-6187455.html
  3. Now we can begin, verify all the pre-req’s are complete:  http://techrepublic.com.com/2415-22_11-190647.html
  4. Here’s a more exhaustive review of the installation process: http://searchexchange.techtarget.com/generic/0,295582,sid43_gci1262392,00.html

If all goes well, you’ll soon be routing messages through your new Edge Server.  If they didn’t go well, you might want to review these:

  1. Understanding the Sync Process: http://technet.microsoft.com/en-us/library/bb232180.aspx
  2. Sync Problems (DNS): http://www.techtutorials.net/articles/edge_transport_server_subscription_problems.html
  3. Finally, manual removal of Exchange Edge: http://atkjedi.spaces.live.com/blog/cns!26E709F49F3BFBB3!554.entry UGGH!
  4. Try it all over again…
  5. Note: After you create your edge subscription, you can force a sync using: Start-edgeSynchronization from the Exchange Management Shell, if you don’t want to wait 24 hours.  You can test synchronization process by: Test-edgeSynchronization from EMS.  Also, once sync is complete, you should see Send connectors on the Edge Transport.  Lastly, be patient.  For me, the edgeSyncronization wasn’t initally working, throwing 10104 errors in eventLog, but after some time passed (and my frustration grew, thinking I had certificate errors) – the sync occurred!  To wrap your head around Exchange Certificates, check out: http://technet.microsoft.com/en-us/library/bb851505.aspx

Hopefully, if you read the documentation thoroughly, you’ll get it right the first (or second) time. 🙂  We’re now live with all the Exchange Server roles and things seem to be operating very smoothly.  Next up, is Forefront.. stay tuned.

*Update.  While finalizing firewall rules, if you also host Outlook Web Access and/or Mobile clients, you’ll need distinct routes into your organization, with default SMTP routes in/out of your Edge server, and OWA/Mobile traffic going to your CAS role.  Good luck, Exchange 2007 does take some time to digest..

CodeMash 2009 Sessions Announced

Jim Holmes of CodeMash just published the 2009 Session list for next year’s CodeMash.  You can view it online at: http://codemash.org/SessionList.aspx or download it here:  http://codemash.org/includes/CM-2009-Schedule.pdf

If you want to keep up on all the CodeMash news, you can follow it via RSS here: http://feeds.feedburner.com/CodemashNews or Twitter here: http://twitter.com/codemash.

And lastly, you can view the public Google calendar of sessions as well.  Just search for “codeMash” in public calendars to add to your Google Calendar.  ICal users can use this URL: http://www.google.com/calendar/ical/954d6r7rhri27sq5kacc88i2a0%40group.calendar.google.com/public/basic.ics 

Looks like another great event – hope to see you there!

Hope to see you there!

Top 10 iPhone App downloads 2008

With 2008 on the way out and right around 10,000 applications behind them, Apple has released a series of lists outlining which applications scored the most downloads since the App Store’s launch back in July.

The lists are separated by whether the the application is paid or free – first as an overall look, and then by each major category (games, entertainment, utilities, social networking, and music). While the overall top applications should come as no surprise to anybody who takes an occasional glance at the iPhone’s built-in top downloads page, there are a few interesting gems hidden in the categorically separated data.

Top Paid Apps (Overall):

  1. Koi Pond
  2. Texas Hold’em
  3. Moto Chaser
  4. Crash Bandicoot: Nitro Kart 3d
  5. Super Monkey Ball
  6. Cro-Mag Rally
  7. Enigmo
  8. Pocket Guitar
  9. Recorder
  10. iBeer

Of everything on that list, I’m really only surprised Super Monkey Ball didn’t rank higher. When the app store launched, it seemed that Super Monkey Ball was the face of iPhone gaming – then again, the fact that it was one of the more expensive games at launch might have hindered sales a bit. Congrats to Pangea Software on the double-win (Enigmo, Cro-Mag Rally). Feel free to buy me a yacht.

Also of note: If you want to make buckets of money as an iPhone developer, make games.

Top 10 Free Downloads (Overall)

  1. Pandora Radio
  2. Facebook
  3. Tap Tap Revenge
  4. Shazam
  5. Labyrinth Lite Edition
  6. Remote
  7. Google Earth
  8. Lightsaber Unleashed
  9. AIM
  10. Urbanspoon

Wow – Google Earth only launched on the iPhone 2 months ago, and it has already cracked the Top 10 free downloads?

Top Paid Games:

  1. Texas Hold’em
  2. Moto Chaser
  3. Crash Bandicoot: Nitro Kart 3d
  4. Super Monkey Ball
  5. Cro-Mag Rally
  6. Enigmo
  7. Air Hockey
  8. Bejeweled 2
  9. Flick Bowling
  10. Line Rider iRide

Top Free Games:

  1. Tap Tap Revenge
  2. Labyrinth Lite Edition
  3. Sol Free Solitaire
  4. iBowl
  5. Pac-Man Lite
  6. Touch Hockey:FS5
  7. Cannon Challenge
  8. Audi A4 Driving Challenge
  9. Sudoku
  10. reMovem

It’s no shocker to see Tap Tap Revenge at the top of the list, as it has a fairly constant level of buzz surrounding it. Sudoku is all the way down at number 9? Is the trend of 2007 (and 1892) finally fading out?

Top Paid Entertainment:

  1. Koi Pond
  2. iBeer
  3. iChalky
  4. Face Melter
  5. iFish
  6. TouchScan
  7. What’s on TV?
  8. Pocket Piano
  9. Sketches
  10. OneTap Movies

The fact that “TouchScan”, a 99 cent application that “scans the mind of two people at once and compares the brain waves recorded” by way of a fake on screen fingerprint scanner, made it all the way to #6 hurts my head. A lot.

Top Free Entertainment:

  1. Remote
  2. Lightsaber Unleashed
  3. i.TV
  4. BubbleWrap
  5. Movies
  6. iDoodle 2 lite
  7. Showtimes
  8. Now Playing
  9. Scribble
  10. Crazy Pumpkin

If nothing else, this shows how much pull a niche, holiday-themed application can have. “Crazy Pumpkin”, which just puts Jack-o-lantern faces on your iPhone’s screen, managed to get enough swing from a good run of coverage around Halloween to reach the top 10.

Top Paid Utilities:

  1. Units (crossroad solutions)
  2. A Level
  3. Air Mouse
  4. Fake Calls
  5. Voice Record
  6. Clinometer
  7. Spell Check
  8. Speed Dial
  9. FileMagnet
  10. iNetwork Speed Test

Top Free Utilities

  1. Flashlight
  2. myLite Flashlight
  3. Say Who – Dialer
  4. Units (TheMacBox)
  5. Compass Free
  6. Alarm Free
  7. A Free Level
  8. Molecules
  9. Speed Test
  10. myLighter

Hm – “Units” shows up on both the free and paid Top 10 lists, although they’re two different applications. I wonder if there is any confusion on the buyer’s end here?

Top Paid Social Networking:

  1. MobileChat
  2. BeejiveIM
  3. Quip
  4. Rooms – Your Mobile Chat Client
  5. Twitterrific Premium
  6. Flutter
  7. Twittelator Pro
  8. mBoxMail
  9. Secrets
  10. hiCard – Suite

Wow – BeeJiveIM not only broke the Top 10, but lands at #2? I’m not surprised because of the quality of the application – it’s quite good, actually – but because of the price: BeeJiveIM costs 16 bucks. In a market where hoards of people complain about 99 cent apps costing too much, that BeeJive has done so well is a bit of a shocker.

Top Free Social Networking:

  1. Facebook
  2. AIM
  3. Myspace Mobile
  4. IM+ Lite
  5. Loopt
  6. Fring
  7. Palringo IM
  8. Earthscape
  9. Twitterrific
  10. Jirbo Avatar

That Facebook is beating Myspace shouldn’t be too amazing to anybody who has paid any attention over the last year or two.

Top Paid Music:

  1. PocketGuitar
  2. Drum Kit
  3. Ocarina
  4. Pianist
  5. Band
  6. Tuner Internet Radio
  7. Beat Maker
  8. Guitar Toolkit
  9. Harmonica
  10. Guitarist

Top Free Music:

  1. Pandora Radio
  2. Shazam
  3. AOL Radio
  4. Midomi
  5. Mini Piano
  6. iheart Radio
  7. MixMeister Scratch
  8. FlyCast Mobile Radio
  9. Last.FM
  10. DigiDrummer Lite

Not quite sure what to make of it, but it’s interesting to note: the vast majority (9 out of 10) of the top paid music apps are for making music, while the majority (7 out of 10) of the top free music apps are purposed for listening to music.

[Source: iTunes Link]

New t-SQL features for SQL 2k8


Inline Variable Assignments

When wearing my developer hat, I spend a lot of time writing stored procedures and playing around with variables. Since I also spend plenty of time programming I’ve always been a bit jealous of the ability to new-up a variable in C# (or VB.NET) to a specified value. For example, prior to SQL Server 2008, if I wanted to create a new datetime variable and set it equal to right now, I’d have to do that in two steps, like so:

DECLARE @now datetime

SET @now = GETDATE()
SELECT @now [now]

But with SQL Server 2008, I can do that in a single line of code, as follows:

DECLARE @now datetime = GETDATE()

SELECT @now [now]

This minor change helps improve code readability by letting you instantiate variables and assign their initial value inline while simultaneously providing a minor productivity boost as well.

Row Constructors

MySQL has two features that many db pros want SQL Server to adopt. The first is the dump function, which allows you to dump an entire table or database to a DDL script along with supporting DML INSERT scripts that make it easy to persist an entire table or database to a single text file. This file can then be executed on another server to recreate any output tables and repopulate them with data by executing the accompanying INSERT statements.

The second feature that is frequently referenced that SQL Server could borrow from MySQL is what some have called Bulk Inserts or the ability to INSERT multiple, static, rows with a single INSERT statement. For example, if I’m creating a simple table defining user types and I want to populate it with some initial values, each value will require its own INSERT statement like so:

CREATE TABLE UserTypes (

UserTypeId tinyint IDENTITY(1,1) NOT NULL,

UserType varchar(20) NOT NULL

)

INSERT INTO UserTypes (UserType)

VALUES (‘User’)

INSERT INTO UserTypes (UserType)

VALUES (‘Manager’)

INSERT INTO UserTypes (UserType)

VALUES (‘Admin’)

I’ve always been a bit lazy when populating tables in this fashion and have gotten into the habit of just SELECTing rows into my table using a UNION, mostly because I hate typing VALUES and open/close parenthesis:

INSERT INTO UserTypes (UserType)

SELECT ‘User’

UNION SELECT ‘Manager’

UNION SELECT ‘Admin’

But SQL Server 2008 has caught up with MySQL, and I can now insert multiple rows within a single INSERT statement with T-SQL 2008’s new Row Constructors:

CREATE TABLE UserTypes (

UserTypeId tinyint IDENTITY(1,1) NOT NULL,

UserType varchar(20) NOT NULL

)

INSERT INTO UserTypes (UserType)

VALUES (‘User’),(‘Manager’),(‘Admin’)

Again, this isn’t a huge or earth-shattering change, but a very nice improvement that can really help boost usability and increase productivity. (Too bad there’s no sensible way to ditch those parenthesis though.)

Compound Assignment Operators

Another great, but subtle, improvement to T-SQL in SQL Server 2008 is the inclusion of new Compound Assignment Operators (though Microsoft just calls them Compound Operators). Like the other improvements mentioned, these aren’t life-savers by any stretch of the imagination, but they do make some interactions easier, especially if you’re comfortable with the greater range of assignment operators available in C# (and VB.NET ).

For example, prior to SQL Server 2008, if you wanted to append text or increment a variable, you needed to do it in a rather verbose manner, as follows:

— declare:

DECLARE @int int

DECLARE @string varchar(10)

— initialize:

SET @int = 5

SET @string = ‘123’

— increment:

SET @int = @int + 5

SET @string = @string + ‘456’

SELECT @int, @string

But with SQL Server 2008, you can do it a bit more logically and more concise:

— declare and init:

DECLARE @int int = 5

DECLARE @string varchar(10) = ‘123’

— increment:

SET @int += 5

SET @string += ‘456’

SELECT @int, @string

These new assignment operators work with all of the standard mathematical assignment operators including bitwise operations which can help make interacting with bitmaps a bit easier as well.

Making Your Life Easier

Ultimately, all three of these new additions are rather minor when compared to things like Full Text Integration, sparse columns, FILESTREAM storage, Table-Valued Parameters, and a host of other improvements and additions. But they all represent subtle improvements that can really help to both improve productivity and ease usability, so they’re definitely worth adding to your repertoire.