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.