Friday, April 30, 2010

Redirect your hatred of Flash to the W3C

TechCruch's article The State Of Web Development Ripped Apart In 25 Tweets By One Man details tweets by Joe Hewitt, a software developer currently at Facebook, that was in response to Steve Jobs' blog post on Adobe's Flash. Within the article Hewitt states: 

"Redirect your hatred of Flash to the W3C, whose embarrassingly slow pace forced devs to use a plugin because the standards were so weak." 

To this I say Amen and bring on HTML5!

Posted via email from Mark's Musings

Thursday, April 29, 2010

Testing inline images from Gmail post to my Posterous.com blog

A few weeks ago Gmail added support for inline images, so you can place photos anywhere in the text of your post. Posterous will support this, in addition to posting attached images and automatically creating a gallery view for multiple images in an e-mail post. OK, here is image one below:

Below is the next image for testing:

I will assume that this is working and say, SWEET!

Posted via email from Mark's Musings

One of the Best Things a Marketer Can Do....

According to The Marketing Edge podcast, one of the longest running marketing and public relations podcasts, host Albert Maruggi, who weaves his 25 years of marketing and PR experience asks, "One of the Best Things a Marketer Can Do, Befriend A Developer." Indeed!

Posted via email from Mark's Musings

Tuesday, April 27, 2010

Posterous already had the Facebook "Like" Button implemented

Had just added the Facebook Like button IFrame code to my Google Blogspot blog and was wanting to do the same for my Posterous site but they had it completed for me. Very nice!

Posted via email from Mark's Musings

Dilbert's take on the Lost (insert "Apple" here) 4G Phone in the Bar

Here is Dilbert's take on the Lost (insert "Apple" here) 4G Phone in the Bar:

Posted via email from Mark's Musings

Question--How to use data to predict and act to better serve customers and gain a competitive edge?

SAS, a company that produces business analytics software and services pitches their new Social Media Analytics tool SAS Social Media Analytics states,
"SAS Social Media Analytics is the first enterprise solution designed to meet the needs of marketers in medium and large companies. It helps them understand, predict and act based on social media data." (emphasis mine)
This is what we must consider going forward with all data, including social media based data. How can we use data to predict our customer's behavior and then act on those predictions to both better serve them and gain a competitive edge? Now that is a question! I am not certain that this SAS tool can do that but as we consider the implementation of social media, how can we use the data to anticipate and act upon customer need?

Saturday, April 24, 2010

It's about what it can do, not just what it is

Often, within the technology sector it is the technologists that form the etymology of terms and phrases.  We who make our living from technology need to understand that it is not just about the device or shinny new gadget or new programming language but really about what it can do for the individual, group, and society. 

The term "Social Media" is no different. For example, we are enamored with the emerging use of location based services and tools. And yes, it is cool. But, what does this mean for you, your friends, family, and culture at large? How will it help? Indeed, will it help you and/or your business? We talk about and discuss Twitter's search value and Facebook's Graph API and this is great. Yet, what can it do to better help developers enable users with better and more convenient tools?

Rob Key just wrote a great article on that very question entitled, Why we need to kill "social media." Please read it.

Posted via email from Mark's Musings

Friday, April 23, 2010

Which is Smarter--Man or Machine?

Which is Smarter--Man or Machine? Clive Thompson considered this question in his Wired Magazine article Advantage: Cyborgs. As the article title states, a blend of human and technology is the best senario. "The most brilliant entities on the planet, in other words (at least when it comes to chess), are neither high-end machines nor high-end humans. They’re average-brained people who are really good at blending their smarts with machine smarts."

Although, we are may not be sporting hardware hooked directly into our bodies like the Borg of Star Trek fame, hopefully what we do daily with our devices enhances our performance and brings enjoyment. After all, "resistance is futile" right?

Posted via email from Mark's Musings

Tuesday, April 20, 2010

LinkedHashMap, dynamic int Array, and an ArrayList in Java

Needing to build some dynamic items today and threw together: LinkedHashMap, dynamic int Array, and an ArrayList in Java. Perhaps they might help. The first class is TestHashMap.java code:



Here is the TestHashMap.java output:



Here is the TestDynamicIntArray.java class code:



Here is the TestDynamicIntArray class output:



Finally, here is the TestArrayList.java class code:



And the TestArrayList output:



Saturday, April 17, 2010

Pulling the Core to the Edge

In a recent post I discussed a few aspects of the book The Power of Pull: How Small Moves, Smartly Made, Can Set Big Things in Motion that I heard of during a Entrepreneurial Thought Leaders Lecture Series talk by John Seely Brown. Within the talk Brown uses the substantial and rapid knowledge growth and distribution among World of Warcraft gamers as an example of the efficiencies and scale of ideas that can be obtained in a pull based knowledge economy. Brown states “Look at the knowledge economy on the edge of this game.” According to Brown, the World of Warcraft gamers produce 12,000 ideas on average every night. The gamers have dashboards of data informing them and keeping them updated on new data and ideas, they review and critique submissions from other gamers, and they review game actions to improve performance! This was not in the actual core of the game but rather on the organized periphery where gamers interact.
Within the talk Brown also mentioned how that organizations need to “pull their core to the edge.” I thought, wow! Now that is interesting! Poking around on Google I found an article in the Harvard Business Review Blog entitled “How to Bring the Core to the Edge.” http://blogs.hbr.org/bigshift/2009/02/how-to-bring-the-edge-to-the-c.html by John Hagel III, John Seely Brown, and Lang Davison.

In short, the article states the:
Edges within firms represent early stage business initiatives with high growth potential, whether new market-oriented initiatives or new work practices, often generated by the born-digital generation entering the workforce…. The ‘core,’ by contrast, is where the money and resources are today, whether we are talking geographically about the developed economies of the US, Western Europe, and Japan, demographically about the older generations with greater income and assets or technologically about mature technologies driving today's revenue and profitability. At the firm level, the core symbolizes the inside of the enterprise, its principal capabilities and primary revenue streams…. Edges spawn significant growth opportunities but, to scale this growth, it is essential for edge participants to gain access to the resources and markets of the core. At the same time, core participants experience margin pressures as competition intensifies and become increasingly desperate for new growth platforms to continue to create economic value…. Disruption theory suggests it's by bringing the edge to the core.


The article then states, "The approach we suggest is to instead bring the core to the edge, to expose your company to institutional innovations and new management practices that emerge on the edge."


Now this is good stuff! Imagine bringing the creative edge of your organization into a symbiotic relationship with the company core. This would result in positive disruption for the organization in general and individuals in the company in particular.

Social Media and the Big Shift to a 21st Century "Pull" Economy

During a morning jog, I listened to a talk from John Seely Brown where he discussed what he calls the "big shift" from the 20th century "push" economy to the 21st century "pull" economy. In summary, the "push" paradigm is largely the traditional command and control model while the "pull" based structure is a more dynamic interaction with what Brown calls "knowledge flows." Upon further investigation, I found an excerpt from a new book, of which Brown is one of the authors, entitled The Power of Pull: How Small Moves, Smartly Made, Can Set Big Things in Motion at www.edgeperspectives.com. Here is what I see as the essential elements pulled directly from the text:
At the most basic level, pull helps us to find and access people and resources when we need them. At a second level, pull is the ability to attract people and resources to us that are relevant and valuable, even if we were not even aware before that they existed. Think here of serendipity rather than search. Finally, in a world of mounting pressure and unforeseen opportunities, we need to cultivate a third level of pull the ability to pull from within ourselves the insight and performance required to more effectively achieve our potential.

The first level of pull, access, is very powerful. But in a world of near-constant disruption, its value is finite. Many of us are increasingly finding that we no longer even know what to seek, even with the growing power of search. While it’s great that all sorts of information is indexed and sorted on the web, even a daily tour through ones Facebook newsfeed reveals many new people and resources that could be relevant.

How do we find out which ones? How do we specify, when we go to Ask.com, Bing, or Google, the areas of knowledge and expertise that would be most valuable? Show me the stuff that I really need that I don't even know exists, isn’t much of a search string. Access only truly works when we know what were looking for. At times like these, the cursor blinks in the search engines textbox, mocking us, asking the existential question: Do you even know what you are looking for? And even if we think we do, it’s guaranteed that unknown unknowns, as Donald Rumsfeld memorably called them, are waiting for us, both as opportunities and as barriers.

We must supplement search engines and their equivalents by exploring additional ways of pulling people and their knowledge to us. To address this challenge, we will need to master the techniques of attraction in both our personal and professional lives and learn to harness the power of serendipity, which is the faculty of finding people and things that we did not know we were looking for.

We need serendipitous encounters with people because of the importance of the ideas that these people carry with them and the connections they have. People carry tacit knowledge. You can’t learn brain surgery just from a text. You've got to stand next to someone who already knows and learn by doing. Tacit knowledge exists only in people’s heads. That means we must not only find the people who carry this new knowledge but get to know them well enough (and provide them with sufficient reciprocal value) that they’re comfortable trying to share it with us.

All of this might make attraction an effective form of discovering the things we didn't know we didn't know, but it also brings up a problem: How can we possibly have enough time to put this into practice? There are only twenty-four hours in the day.

To master attraction, we need two elements to come together in a powerful and reinforcing way. First, we need amplifiers that can help us reach and connect to large groups of people around the globe that we do not yet know (and may not even be aware exist). These amplifiers relate to our choice of where to live, what gatherings we attend, how we conduct ourselves online, and what we do to draw the attention of others. Second, we need filters that can help us to increase the quality as well as the number of unexpected encounters and ensuing relationships that are truly the most relevant and valuable. These filtering techniques help separate the wheat from the chaff in our interactions with others and become ever more crucial as we begin serendipitously drawing more people toward us. By simultaneously amplifying (to increase the sheer number of unexpected encounters) while filtering (to spend time only on those interactions that yield value to us and to others), we can shape serendipity in order to attract from the edges of our fast-moving world the people and knowledge we need in order to thrive.

The third level of pull: Achieve. Accessing and attracting in fact have diminished value unless they are coupled with a third set of practices that focus on driving performance rapidly to new levels. These practices involve participation in, and sometimes orchestration of, something we call creation spaces--environments that effectively integrate teams within a broader learning ecology so that performance improvement accelerates as more participants join.

Creation spaces differ in at least two ways from the learning organization approaches pioneered a couple of decades ago. First, they emerge as ecosystems across institutions rather than within a single institution, so they reach a much more diverse set of participants. Second, they are not primarily focused on learning their goal is to drive more rapid performance improvement, and learning occurs as a byproduct of these efforts.

The moral of the story? To get better faster at whatever it is you do, you've got to be supported by a broad array of complementary people and resources from which you can pull what you need to raise your rate of performance improvement.
This, in my view, is the goal of each of us. What I found of most interest was the concept of amplifiers and filters in the "attraction" step. Your social media tool(s) of choice can function as the tool to see these concepts become a reality. In the midst of your busy days of family, work, and various interactions please remember that social media tools enable us to both scale and sift our knowledge base to make us more informed and productive.

Thursday, April 15, 2010

Organic...Better than Artificial

I recently noted an blog submission from a co-worker discussing the Technology Adoption Lifecycle utilizing Everett Rogers' Bell Curve (below).


Within her post she discussed how that the curve demonstrates that technology users adopt technologies and tools at differing rates. Therefore, allowing the statistical rate of adoption to take place in an organization was better given that it was organic. She then stated that one would need to, "Trust that organic structures are stronger than artificially forced ones...." After reading her insightful, well written post I realized that she was correct. Anything that is "artificial" has a high probability of not working within an organizational ecosystem, just as it would not in a natural ecosystem. I then replied to the post with this comment, hoping to increase that trust by providing a quick look at, at least in my view, why organic structures are stronger. In short, I took a page from nature itself.


First, organic structures emerge by leveraging the objects in its environment and therefore better suit the environment. This is dramatically different than an imposed, artificial structure that attempts to change the existing DNA matrix and kills existing organisms (existing ideas and business competitiveness) in the environment.

Secondly, organic structures are more adaptive. Because it is built upon the attributes of its environment, when change in the environment happens it contains the elasticity to "bend without breaking" and can gain an advantage over competing entities.

Finally, because organic structures are more adaptive, more fit organisms (ideas/products/services) emerge more quickly. Artificial structures must first remove competing organisms and then take root in the ecosystem before it can produce the fittest organisms.

Therefore, in my humble opinion, we can rationally and confidently trust that organic structures are stronger than artificially forced ones.

Thursday, April 08, 2010

html:checkbox gotcha

Was in the midst of testing a JSP that utilized the html:checkbox form input and what I quickly noted was that the checkbox values that were unchecked were not calling the settter methods in the JSP's corresponding Action. Upon inquiring with the finer brains in my area, Ahmed, co-worker in the next cube, helped by pointing out that his experience was that unchecked checkboxes are ignored and to handle the default settings in the Form's reset method. Sure enough he was right. Here is an excerpt from Apache's Struts site here:
A problem with a checkbox is that the browser will only include it in the request when it is checked. If it is not checked, the HTML specification suggests that it not be sent (i.e. omitted from the request). If the value of the checkbox is being persisted, either in a session bean or in the model, a checked box can never unchecked by a HTML form — because the form can never send a signal to uncheck the box. The application must somehow ascertain that since the element was not sent that the corresponding value is unchecked.

The recommended approach for Struts applications is to use the reset method in the ActionForm? to set all properties represented by checkboxes to null or false. The checked boxes submitted by the form will then set those properties to true. The omitted properties will remain false. Another solution is to use radio buttons instead, which always submit a value.

It is important to note that the HTML specification recommends this same behavior whenever a control is not "successful". Any blank element in a HTML form is not guaranteed to submitted. It is therefor very important to set the default values for an ActionForm? correctly, and to implement the reset method when the ActionForm? might kept in session scope.

Thursday, March 11, 2010

What Level Are You?

With the advent of personal computer technology in general and social media specifically, everyone is a potential “media mogul.” The question becomes, what level of intimacy do you want with your audience? The graphic below, from http://loichay.tumblr.com/post/178728159/10-levels-of-intimacy-in-todays-communication, shows us 10 levels of intimacy using various forms of media available to us. Let’s look at each level starting with 1 and working up to level 10.


Levels 1 and 2 – These levels enable us to communicate with large amounts of people. In a nutshell, social media has made mass communication the purview of the individual. What was once the domain of traditional broadcast media, the common person can now take part and “social-media cast” to thousands. While this level allows one to scale to more people, obviously it is not intimate. The value here is casual contact with the masses. In this venue, clubs and civic organizations can make meeting announcements at virtually no cost.

Another value of levels 1 and 2 is the amount of either positive or negative“buzz” that tools such as Facebook and Twitter provide. For example, you purchased a product and it is not working correctly. You contact customer service but they are apathetic to your plight and give you the normal spiel that, “You can only return the product on the third Tuesday of each month between 1:35 and 1:40 PM with the receipt and a notarized statement promising both your right arm and first born child.” However, because of Twitter and Facebook you now have additional channels and leverage. You tweet (on Twitter) and post a status (on Facebook) about your less than satisfactory experience with the vendor. Others read of your situation and enter the fray. If the vendor is smart, they monitor the “twitterverse” and “facebookdom” looking to remedy what could be a potential run-away PR problem.

Levels 3 and 4 – I put these levels together given that both a Facebook message and traditional email are “push” technologies that do not require real-time interaction. The idea here is that you to not require an immediate response and can send or push the message to the intended recipient(s) and wait for the response at the convenience of the responder(s).

Levels 5 and 6 – Real-time communication is of a higher level of intimacy in that it requires your attention “then and there” and is therefore more intimate. The only difference in these levels is the media. Level 5 is with a mobile hand-held device and level 6 with a device (desktop or laptop computer) that provides a larger form-factor of view and keyboard input. While some would argue that the form-factor size is of no barrier, the larger form-factor, in my view, allows for a more intimate experience.

Level 7 – Here—the handwritten letter—appears to be a dying media. The fact that effort must be made to handwrite the message, the time it takes in forethought to prepare (given that editing a handwritten letter is not easy, especially with a pen), and the tangible properties of the letter (texture and smell of the paper) make this a more personal media.

Level 8 – While this level is difficult to scale, unless you are conferenced into a group or on a speaker phone with a group, this one-on-one media is real-time and auditory. You hear the person which provides a level of intimacy not achieved in the previous levels.

Level 9 – This level is considered more intimate than the lower levels given that the person or persons that you are speaking with are able to be viewed. With technologies such as Skype and an inexpensive webcam, we can achieve a high level of intimacy in spite of geographic location.

Level 10 – The most initiate level is face-to-face, physical presence. Here you have visual and an auditory exchange of signals as well as tactile contact. This results in a more direct attention to the person(s) with which you are communicating.

In summary, humanity has always operated on different levels of intimacy in various environments and settings. With the internet and social media, we have more avenues to operate within these levels of intimacy. More opportunities means learning which media is appropriate for which situation, is it good for personal or professional use, or what are the emerging social norms for the media. Again, what level are you?

Sunday, March 07, 2010

Your Consumed Information--Useful and Valuable?

With the torrent of information coming at us it is useful to ask, "Is the information I ingest beneficial?" Below is hopefully a helpful quadrant to assist in the determination of the use and value of your information:

Sunday, February 14, 2010

Every Garage or Computer--an Industrial Player

This month's Wired magazine has an interesting article, In the Next Industrial Revolution, Atoms Are the New Bits. In this piece the magazine's editor Chris Anderson discusses how with the availability of free or affordable software tools and outsourcing, a home garage or wannabe inventor has the potential to be a viable industrial manufacturer. Good stuff!

Wednesday, February 03, 2010

Dynamic Java String Array

A business needed to split data elements in the display to it's customers via a report. Since the data was returned from the Java Data Access Object layer as a String array, the quickest way was to detect an existing data item and then insert what the business wanted to display in the report for that data item.

Here is an example of what I did to dynamically insert items into a Java String array:

public class DynamicStringArray {
public static void main(String[] args){
String[] originalArray = {"a","b","d"};

System.out.println("----- Original String Array ----");
for(int i = 0; originalArray.length > i; i++){
System.out.println(originalArray[i]);
}

//create a fixed-size ArrayList from the String array.
ArrayList oldList = new ArrayList(Arrays.asList(originalArray));
//create an ArrayList to hold the inserted items.
ArrayList newList = new ArrayList();

//assume no "b" in the array
boolean hasB = false;

//check if the array has a "b"
for(int i = 0; originalArray.length > i; i++){
if(originalArray[i].equalsIgnoreCase("b")){
hasB = true;//we have a "b" Houston
}
}

if(hasB){//the array has a "b"
for(int i = 0; oldList.size() > i; i++){
if(oldList.get(i) == "b"){//found "b"
newList.add(i,"newB");//replace "b" with "NewB"
newList.add(i + 1,"c");//add "c"
}else{//not "b"
newList.add(oldList.get(i));
}
}
}

//create new String array
String[] newArray = new String[newList.size()];
newList.toArray(newArray);
//pass new String array to old String array
originalArray = newArray;

System.out.println("----- Updated String Array -----");
for(int i = 0; originalArray.length > i; i++){
System.out.println(originalArray[i]);
}

}
}

The above code results in the following:

Sunday, January 03, 2010

Security Management - Better to be loved or feared?

Recently I created a fictional case study that discussed management styles when dealing with internal security threats.

Click here to read and then let me know your thoughts.

Friday, September 25, 2009

5 exabytes in the last 2 days. We better get busy!

Eric Schmidt, Google CEO, at a talk given at a forum jointly hosted by Google and the Pittsburgh Technology Council, stated that the amount of data generated from the birth of humanity to the year 2003 was 5 exabytes (point 8:30 of the talk). The date of the presentation was September 23, 2009. Schmidt, then stated that given the connectivity we now have the amount of data generated the last 2 days was equal to these 5 exabytes. What!!!???!??!?! An exabyte is one quintillion bytes. Just within the last year could you buy a 1 to 4 terabyte hard drive. An exabyte is 1,048,576 terabytes or 1,073,741,824 gigabytes, i.e a lot of data!

OK. We may have generated that amount of data the last few days. And do not misunderstand me. I realize there is intelligence in that data. And yes, let it instruct and assist us. But my thinking is that the 5 exabytes in the last several thousand years is of much better quality and substance that the 5 exabytes in the last 2 days, right? If not, then the quality and substance is hidden therein and let us get busy and mine it out!

Wednesday, August 19, 2009

Digital Utopia--Free?

Was considering purchasing the Kindle version of the new book by Chris Anderson, Free: The Future of a Radical Price and looked for reviews (An ironic note is that I fully understood that I would have to pay for the digital version of the book). In my search of reviews, I did find the "free" review by Malcolm Gladwell at The New Yorker.

Gladwell discusses that Lewis Strauss, the former head of the Atomic Energy Commission, famously predicted in the mid-nineteen-fifties, due to the advent of nuclear energy, that “our children will enjoy in their homes electrical energy too cheap to meter.” Gladwell then states, "It is pointless to wonder what would have happened if Strauss’s prediction had come true while rushing past the reasons that it could not have come true."

Strauss appeared not to consider the cost of the infrastructure of energy distribution. In a similar way, with the phenomenum of YouTube, "A recent report by Credit Suisse estimates that YouTube’s bandwidth costs in 2009 will be three hundred and sixty million dollars."

Time will tell but the Achilles' heel, at least for now, that I see for a Digital Utopia of "Free" is the "cost" of distribution. Bandwidth, batteries, e-readers all cost money.