Thursday, December 30, 2010
Lending Kindle eBooks Now Enabled
Thursday, December 16, 2010
HTML5 Canvas Tag Basic Example II - Gradients and Images
Thanks again to Mark Pilgrim and his wonderful Dive into HTML5 site.
Enjoy:
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8" /> | |
<title>Test Canvas II</title> | |
<!-- get excanvas.js from http://code.google.com/p/explorercanvas/ | |
Note the test cases and examples. Very cool! --> | |
<!--[if IE]> | |
<script src="excanvas.js"></script> | |
<![endif]--> | |
</head> | |
<body> | |
<header> | |
<hgroup> | |
<h1>Testing Canvas Tag II</h1> | |
</hgroup> | |
</header> | |
<section> | |
<h3>Click on the rectangle to draw a gradient and move the mouse out of the rectangle to clear it.</h3> | |
<canvas id="a" width="300" height="225" style="border:1px dotted;" onclick="drawGradient('a', 0, 0, 300, 0);return false;" onmouseout="clearRectangle('a');return false;"></canvas> | |
</section> | |
<section> | |
<h3>Click on the rectangle to draw a gradient top to bottom and move the mouse out of the rectangle to clear it.</h3> | |
<canvas id="b" width="300" height="225" style="border:1px dotted;" onclick="drawGradient('b', 0, 0, 0, 225);return false;" onmouseout="clearRectangle('b');return false;"></canvas> | |
</section> | |
<section> | |
<h3>Click on the rectangle to draw a diagonal gradient and move the mouse out of the rectangle to clear it.</h3> | |
<canvas id="c" width="300" height="225" style="border:1px dotted;" onclick="drawGradient('c', 0, 0, 300, 225);return false;" onmouseout="clearRectangle('c');return false;"></canvas> | |
</section> | |
<section> | |
<h3>Click on the rectangle to display a cat image and move the mouse out of the rectangle to clear it.</h3> | |
<canvas id="d" width="177" height="113" style="border:1px dotted;" onclick="drawCat();return false;" onmouseout="clearRectangle('d');return false;"></canvas> | |
</section> | |
<section> | |
<h3>Click on the rectangle to display a "multi-cat" image and move the mouse out of the rectangle to clear it.</h3> | |
<canvas id="e" width="550" height="387" style="border:1px dotted;" onclick="drawMultiCat();return false;" onmouseout="clearRectangle('e');return false;"></canvas> | |
</section> | |
<footer> | |
<p>© 2010 <a href="http://www.markmcfadden.tel">Mark McFadden</a></p> | |
</footer> | |
</body> | |
<script> | |
function drawGradient(id, x0, y0, x1, y1) | |
{ | |
//chained the method calls here | |
var the_context = document.getElementById(id).getContext('2d'); | |
//createLinearGradient(x0, y0, x1, y1) | |
var my_gradient = the_context.createLinearGradient(x0, y0, x1, y1); | |
//define a gradient that shades from black to white | |
my_gradient.addColorStop(0, "black"); | |
my_gradient.addColorStop(1, "white"); | |
//fill style is a gradient | |
the_context.fillStyle = my_gradient; | |
the_context.fillRect(0, 0, 300, 225); | |
} | |
function drawCat() | |
{ | |
var context = document.getElementById("d").getContext("2d"); | |
//using an Image() object | |
var cat = new Image(); | |
//the image | |
cat.src = "cat.png"; | |
cat.onload = function() { | |
//drawImage(image, dx, dy). Coordinates (0, 0) will draw the image at | |
//the upper-left corner of the canvas | |
context.drawImage(cat, 0, 0); | |
}; | |
} | |
function drawMultiCat() | |
{ | |
var context = document.getElementById("e").getContext("2d"); | |
var cat = new Image(); | |
cat.src = "cat.png"; | |
cat.onload = function() { | |
for (var x = 0, y = 0; x < 500 && y < 375; x += 50, y += 37) { | |
//drawImage(image, dx, dy, dw, dh) used below takes an image, scales it to | |
//a width of dw and a height of dh, and draws it on the canvas at | |
//coordinates (dx, dy) | |
context.drawImage(cat, x, y, 88, 56); | |
} | |
}; | |
} | |
function clearRectangle (rec) | |
{ | |
var the_canvas = document.getElementById(rec); | |
the_canvas.width = the_canvas.width; | |
} | |
</script> | |
</html> |
Wednesday, December 15, 2010
Loving Posterous' use of Github Gist to post code
HTML5 Canvas Tag Basic Example
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="utf-8" /> | |
<title>Test Canvas</title> | |
<!-- get excanvas.js from http://code.google.com/p/explorercanvas/ | |
Note the test cases and examples. Very cool! --> | |
<!--[if IE]> | |
<script src="excanvas.js"></script> | |
<![endif]--> | |
</head> | |
<body> | |
<header> | |
<hgroup> | |
<h1>Testing Canvas Tag</h1> | |
</hgroup> | |
</header> | |
<section> | |
<h3>Click on the rectangle to draw a square and move the mouse out of the rectangle to clear it.</h3> | |
<canvas id="a" width="300" height="225" style="border:1px dotted;" onclick="draw_a();return false;" onmouseout="clearRectangle('a');return false;"></canvas> | |
</section> | |
<section> | |
<h3>Click on the rectangle to draw a grid.</h3> | |
<canvas id="b" width="500" height="375" style="border:1px dotted;" onclick="draw_b();return false;"></canvas> | |
<h3>Click <a href="#" onclick="clearRectangle('b');return false;">here</a> to clear the grid.</h3> | |
</section> | |
<footer> | |
<p>© 2010 <a href="http://www.markmcfadden.tel">Mark McFadden</a></p> | |
</footer> | |
</body> | |
<script> | |
function draw_a() | |
{ | |
var a_canvas = document.getElementById("a"); | |
//must use "2d". For 2 dimensional perhaps? | |
var a_context = a_canvas.getContext("2d"); | |
a_context.fillRect(50, 25, 150, 100); | |
} | |
function draw_b() | |
{ | |
var b_canvas = document.getElementById("b"); | |
var context = b_canvas.getContext("2d"); | |
//Draw vertical lines (like etching) | |
for (var x = 0.5; x < 500; x += 10) { | |
//moves the "etcher" to the specified starting point | |
context.moveTo(x, 0); | |
//etches a line to the specified ending point. | |
context.lineTo(x, 375); | |
} | |
//Draw horizontal lines | |
for (var y = 0.5; y < 375; y += 10) { | |
context.moveTo(0, y); | |
context.lineTo(500, y); | |
} | |
//now "ink" the etched lines | |
context.strokeStyle = "#eee"; | |
context.stroke(); | |
//the horizontal arrow | |
//draw the arrow in a different color ink — black instead of off-white — so start a new path. | |
context.beginPath(); | |
context.moveTo(0, 40); | |
context.lineTo(240, 40); | |
context.moveTo(260, 40); | |
context.lineTo(500, 40); | |
context.moveTo(495, 35); | |
context.lineTo(500, 40); | |
context.lineTo(495, 45); | |
//vertical arrow | |
//since the vertical arrow is the same color as the horizontal arrow, do not need to start another new path | |
context.moveTo(60, 0); | |
context.lineTo(60, 153); | |
context.moveTo(60, 173); | |
context.lineTo(60, 375); | |
context.moveTo(65, 370); | |
context.lineTo(60, 375); | |
context.lineTo(55, 370); | |
context.strokeStyle = "#000"; | |
context.stroke(); | |
//text font | |
context.font = "bold 12px sans-serif"; | |
//x axis label | |
context.fillText("x", 248, 43); | |
//y axis label | |
context.fillText("y", 58, 165); | |
//upper left corner text | |
context.textBaseline = "top"; | |
context.fillText("( 0 , 0 )", 8, 5); | |
//lower right corner text | |
context.textAlign = "right"; | |
context.textBaseline = "bottom"; | |
context.fillText("( 500 , 375 )", 492, 370); | |
} | |
function clearRectangle (rec) | |
{ | |
var the_canvas = document.getElementById(rec); | |
the_canvas.width = the_canvas.width; | |
} | |
</script> | |
</html> |
Saturday, October 02, 2010
"How good software makes us stupid"-You're still smart, what does that say about your software?
In retrospect, I know, hang around, and work around a lot of smart people. Therefore, their software must not be that good! Gaaa! I develop software! Must get better at making people dumber...or I a mean make things easier for them!
Tuesday, August 31, 2010
RSS - The Really Unknown Syndication
Yes – I like that it sends me news I request.
Yes – I’m just learning how this works.
No – I’ve never used it.
No – I don’t know what that is.
With most survey components, you do not see the tabulated results until after you answer the question. Before I answered I thought that the response rate would be about 60% answering either "Yes – I like that it sends me news I request" or "Yes – I’m just learning how this works." Wow, was I off. Here are the actual results as of the time of this post:
The "Yes – I like that it sends me news I request" had 719 out of 13,856 or 5% of total.
The "Yes – I’m just learning how this works" received 300 responses out of 13,856 for a 2% affirmative rate.
The "No – I’ve never used it" got a 2,766 out of 13,856 or 20% of the total.
Finally, the "No – I don’t know what that is" answer received a whopping 10,071 out of 13,856 for a 73% response rate.
Again, wow! 93% of the respondents are not using RSS even though it has been broadly available since 2005. Given that the RSS acronym means Really Simple Syndication there are a good many of my fellow employees that have yet to discover the convenience and pleasure of using RSS to gather and consume their news and information.
Wednesday, August 25, 2010
Wired Mag is bumming me also!
Wired magazine cover story, August 2005: "We Are the Web"
Wired magazine cover story, September 2010: "The Web Is Dead"
Unavoidable conclusion: "We Are Dead"
He is right. If we are something and that something is dead, then irresistibly, we are dead. Wow! I could easily become bummed too!
Sunday, August 22, 2010
The Citizen Developer
In addition to the Android App Inventor, Microsoft as released their beta version of WebMatrix, which "is for developers, students, or just about anyone who just wants a small and simple way to build Web sites."
So I did a search for the phrase "Citizen Programmer" or "Citizen Developer" to see what was out there. I found where last October, Gartner Group posted an article where they shared that by 2014, 25% of business applications will be done by these citizen developers. Interesting! The article defines a citizen developer as "a user operating outside of the scope of enterprise IT and its governance who creates new business applications for consumption by others either from scratch or by composition."
Historically, CASE tools were to enable the business person to do basic application development. In fact the programming language COBOL was meant to provide that ease of use and comprehension given its verbose and common-language structure.
I consider myself to be an example of a Citizen Developer as my educational background shows that you do not have to have formal development training to be a software developer. Since I received a B.S. in Education from Ohio University in 1993, I have basically learned to program by taking the time to learn to think computationally while learning and using the various interpreted and compiled languages and database systems.
The pattern in the past has been that tools that were marketed to enable business line personnel to create business applications actually required some development skills (such as Microsoft's WebMatrix discussed above). The result was that the tool was moved into the development teams as another tool in the software programming arsenal, leaving the users still depending on the software team to produce the programs.
However, it is my hope that tools such as Android App Inventor will proliferate and result in the growth of the Citizen Developer.
Thursday, August 05, 2010
Lions, tigers, tracking, oh my!
Saturday, July 10, 2010
Time...between compiles
Anyway, I often have 5 minutes here, 15 minutes there waiting for compiles to complete. During these times I refuse to be involved in illegal activity! My employer will be glad to know that I am sure. But seriously, I try to get other things done such as planning the next section of code to write, consider more optimal database queries, and complete emails, etc in that time.
The point is that I have to plan the break or I catch myself surfing the net and wasting time. What do you do with your time in between tasks to stay focused? A list of items to complete? Does your type of work govern the web and flow of the day for you?
Oh... the build is complete...got to get going...bye!
Future of Tech: Mobile or the Living Room?
Towards the end of the show the discussion arose as to where the future of technology would be focused. The two spaces discussed were the mobile space and the living room. I aways thought that while mobile and home based technologies would have there own areas of products and services, the two would converge together into a "personal, electronically assisted living" that was not restricted by location but existed and functioned in your home as well as transportation.
We shall see.
Friday, July 09, 2010
Never Trust a Programmer
Thursday, July 08, 2010
Who is the "Bitsmith" in your domain?
One thing that organizations need to understand is that IT is more than a group of code and reboot monkeys that can be simply plugged into a position like a warm body in the Matrix. Successful IT in any company understands the objectives of the business and what it needs to do to see it happen. "By understanding the domain and the technology, bitsmiths can quickly take an idea from concept to implementation, speeding up productivity. Find someone on your team or bring someone in from IT who can serve as your bitsmith."
Thursday, July 01, 2010
Ubuntu Lucid Lynx DVD Watching...ba da bing, ba da boom
In short, do the following from the terminal prompt:
And, ba da bing, ba da boom...I was watching the DVD on my Ubuntu Desktop.
Saturday, June 26, 2010
Free Ubuntu 10.04 Manual
Friday, June 25, 2010
Thursday, June 24, 2010
"Yee haw" instead of Yahoo?
Posterous - from Pipe to Post Point
Now Posterous is attempting to attract users of sites such as Ning and Tumblr. What I did this morning was import all my old blog content from my Google's Blogspot site from February 2005 to the present into my Posterous blog. It was a matter of point, click, and wa-la.
So, that is my rationale for stating that Posterous is moving from a pipe, or a single point of entry, to a post or end point for user-submitted content. It will be interesting to see how successful they will be in attracting rival blog site users.
Tuesday, June 22, 2010
Linchpin Quadrants of Discernment
Looking at the diagram used in the book below, quotes explaining the quadrants follow (from Kindle Locations to 3061 to 3083).

Wednesday, June 16, 2010
The future of IT: Data Centralization, everything else...Decentralized
Monday, June 14, 2010
Who Are You (on Twitter that is)?
It appears to be a matter of one's interest. Some like to hear others complain so they will follow the "b1tch." Also, one's maven is another's smore.
How do we as twitter users become more like the "mensch" who observe the flow of information until others need our expertise and then come to their aid?
Friday, June 11, 2010
Text Data Mining/Visualization - Did I really say it that much!?!
Often, data mining/visualization will show unexpected patterns in the data that enable you to sometimes verify, or at least postulate, the cause of what the data displays. Ideally, the analysis will assist you in predicting future customer buying habits, upcoming income/expenditure levels, etc.
Anyway, pointing my blog to Wordle produced the image below. In looking at the word cloud, I know I have been discussing Ubuntu a good deal lately but I was not aware to what degree. Again, data mining/visualization shows that I need to move on to other topics in my blog!

Thursday, June 10, 2010
Imitation over Innovation?
Reminds me of a recent article, Defend Your Research: Imitation Is More Valuable Than Innovation by Oded Shenkar which argues that, "In all cases, he found imitation to be a primary source of progress, even though that progress often went unrecognized by executives and scholars. He also discovered that good imitation is difficult and requires intelligence and imagination."
Yet, Google imitating Bing?!?!
Wednesday, June 09, 2010
What Should You Be Measuring?
If we want to change what they care about, we should change what we
measure…..It can’t be that simple, you might argue— but psychologists and economists will tell you it is. Human beings adjust behavior based on the metrics they’re held against. Anything you measure will impel a person to optimize his score on that metric. What you measure is what you’ll get. Period.
Okay. With that said, what are the numbers that I should measure? My thinking is that in addition to the day-to-day numbers that are normally applied to me in my job, metrics such as these are good: how often do I help co-workers, what is the level of my customers' (manager, business line(s) I code for, etc) satisfaction, how many times do I take ownership of problems that are not mine, etc? Can you think of other numbers?
Tuesday, June 01, 2010
Ubuntu Lucid Lynx with Windows XP Dual Boot
For an example of Ubuntu niceness, I had to update an Excel 2007 spread sheet. I was currently in Ubuntu and really did not want to shutdown Ubuntu and restart in Windows to make the update. I browsed to the the Places section in Ubuntu and noted that there was a File System that was separate from the Ubuntu install. Sure enough it was the Windows partition. And what do you know...I was able to browse the Window's partition files and select the Excel spread sheet. It then opened in Open Office's Spreadsheet application, which comes free with Ubuntu's Desktop install, from where I was able to make my change and save the updated file.
Okay, that seemed too easy. I then rebooted to check to see that the Excel file would still open in Excel and sure enough, it opened and had the changes that were made while in Ubuntu! Lucid indeed!
Friday, May 28, 2010
To Ubuntu or not to?....now that is a good question!
This operating system fits on one CD. That's right...you heard it correctly folks...not one DVD...but one CD! And even better--the price...wait for it....wait for it...FREE!! Moreover, it is easy to install, contains the Open Office Suite, the Firefox Web Brower, etc. right out of the box (or rather ISO download in my case).
Since I have been using it this last week I have noted that everything is running well. I even installed the TweetDeck Desktop and had it rolling in no time (see below).
Thursday, May 27, 2010
OK, I think I have posting to Posterous with Markdown down
Get specifics here.
Here is a syntax highlighting and formatting Markdown example of philosophic Java code:
1 if(!succeed) {
2 try();
3 }
Increasing Serendipity to Increase Understanding
Serendipity therefore requires you to move outside your comfort zone concerning encounters with others. Take a chance and risk looking foolish. Introduce yourself to someone you do not know but may frequently see at work or on the bus. Find out what interests them. In a word, learn.
To me, this concept reminds me of the progressive rock group Rush's song, Hand Over First. A section of the lyrics go:
In some exotic land
Greet a passing stranger
Feel the strength in his hand
Feel the world expand.
Feel your world expand indeed!
Wednesday, May 26, 2010
Exponential (or Collective) Minuteness = Big Outcomes
My thinking was that this was not much time wasted. However, what if that two minutes is multiplied by millions of users? According to Tony Wright, the founder of RescueTime Blog, just seconds viewing or playing pacman the other day cost 120 million in productivity. How? "The average user spent 36 seconds MORE on Google.com on Friday....$120,483,800 is the dollar tally, If the average Google user has a COST of $25/hr (note that cost is 1.3 – 2.0 X pay rate)."
Wow! Small amounts multiplied results in large outcomes. What if everyone could contribute small amounts of attention and brain power to solve problems? This is what happens with CAPTCHAs:
What is notable is that technology enables this "collective minuteness" that yields large results. The question then becomes how can we further use it to solve problems? Can collective involvement via social media help in the search/discovery/creation of alternative energy sources? Is there a way we can use mobile computing to assist healthcare? These are not questions for the sake of a blog posting! What are your thoughts?
Early location-based, social media..."Breaker 1 - 9, how about that south bound Kenworth at the 151 mile marker, ...."
In fact, I would call the CB Radio "the early location-based, social media." To use this tool all one had to do was be on the conventional channel, channel 19 for most truck drivers, and you were able to send and receive messages. Truckers would ask the channel for information on road conditions and traffic from those who were there or had just been there (location based services), ask general question, or just share stories and socialize (social media content).
Finally, with concerns over texting while driving, the CD Radio is offers an "eyes on the road" media utilization.
"Do you gotta copy on that?"
Friday, May 21, 2010
Please, Look at the Data
Thompson states:
One thing for certain, the "don't bother me with the facts" attitude will not work here.
Of course, not everyone is a trained statistician. However, one does not need to be. We write while not being trained journalist. We use basic math while not being mathematicians.
For starters instead of looking at short term data, learn to consider long term trends with larger amounts of data. Also, understand that when there are correlations between trends or events, this does not mean that one is the cause of the other. In short, please look at the data.
"Betterness" does not just happen.
Related to this post, I am currently reading Linchpin by Seth Godin that drives a similar message. More on this book later.
Thursday, May 20, 2010
Is the Motorola Droid Commercials Scary?
In my view, the roving red eye of the Motorola Droid looks like a cross between the robotic eye of the Cylon of Battlestar Galactica fame and the Dark Lord Sauron's all seeing eye from The Lord of the Rings.
Motorola Droid Screen on Bootup
It is the Cloud not the Clock
Clocks are neat, orderly systems that can be solved through reduction; clouds are an epistemic mess, “highly irregular, disorderly, and more or less unpredictable.” The mistake of modern science is to pretend that everything is a clock, which is why we get seduced again and again by the false promises of brain scanners and gene sequencers. We want to believe we will understand nature if we find the exact right tool to cut its joints. But that approach is doomed to failure. We live in a universe not of clocks but of clouds.
In both business and software development we must understand that the latest tool and/or theory is not the final Utopian answer but rather a step in further understanding.
Wednesday, May 19, 2010
Google I/O - Web is killing other media
I remember speaking to a Kiwanis Group (in circa 1996) and sharing that at some point the web "may," in the immediate future, effectively compete for the attention of the public as other forms of traditional media were at that time. When I stated that, some yawned and others looked at me as if I was crazy at worst and overly optimistic at best.
I have to admit that in the early days of the public internet I was not sure how popular the web would be. Again, that was when access from home was accompanied by the screech of a 9600 baud modem. Not the most optimum throughput for audio and video.
In any event, that is the case now.
Definitions and clarity matter
Tuesday, May 18, 2010
Time to Think...Oh, the Humanity
Monday, May 17, 2010
What is a More Effective Conversation?

Thursday, May 13, 2010
Gut Based Decisions - A Cause of Heart Burn?
Leaders and managers are encouraged and exhorted to rely more on their intuition and judgment. Everyone knows that "Good judgment comes from experience. Experience comes from bad judgment." Ha ha ha. But where does bad judgment come from? My answer — and the replicable answer from Nobel Prize winning research: Trusting gut instincts and feelings.
He continues on:
The entire field of behavioral economics has been built on the intensifying recognition that people, particularly smart ones, are suckers for cognitive illusions and heuristic biases that pretty much guarantee that "gut-trusting" will, on average, yield heart burn.
What is the answer to this dilemma of intuition or gut-level based direction? Data. Making decisions based on actual information and not what you "sense" or "feel. "
While this is not new, Michael Schrage turns this from the enterprise to the individual:
What gives this issue great urgency and good timeliness is the nascent phenomenon discussed in Gary Wolf's excellent New York Times Magazine piece on data-driven introspection. He describes his cast of anal-retentive compulsively computational cast of characters as uber-geeks. To me, they're the uber-introspects: a new cultural class that values the ability to relentlessly act upon obsessive self-knowledge....Instrumenting ourselves, our thoughts, our actions, and — yes — our networks of colleagues and acquaintances, simultaneously transforms both self-awareness and situational awareness.
This has been personally demonstrated to me as I have recently lost 30 pounds in the last 4 months. In short, I simply monitored both my daily caloric intake and the burning of those calories by measured exercise with the help of the SparkPeople website. This tool made it easy to search the foods that I would eat that day and plan my meals while tracking the daily exercise. Moreover, what was most empowering was that when I knew the actual calories I had already consumed, in the evening, it made it easier for me to resist the desire to eat more. By knowing where I actually was with calorie intake and not having to guess in the midst of being hungry, I was able to say "NO" to more food.
Finally Schrage challenges the reader with a self-examining experiment:
So here's a simple, cheap experiment: the next few times you make a snap decision or judgment where your gut is your best friend, take 20 seconds to send yourself an email or text briefly describing what you did and why. Quit after doing it maybe 20 times. Then look at those messages from the vantage of a week later. I promise you'll be surprised. (I did a version of that exercise when I was having a nightmare time with a client. The resulting review left me biting my tongue and forbidding myself from sending substantive project emails without sleeping on them first.)
More on coming soon on the data-driven life.
Wednesday, May 12, 2010
Crowd-Sourcing Gone Too Far with Digg?


Monday, May 10, 2010
Social Tech Tools - Distractor or Emancipator?
Saturday, May 08, 2010
Programming: A Social Activity
Joel and I both agree: one of the most effective coding practices you can adopt on your team is interactive, sit-down-with-your-coworker code review. 90% of the things you will learn have nothing to do with the code. I believe programming is a far more social activity than most realize. If you write code, and nobody but you ever sees that code — did you really extract all the benefit from writing that code?
Followers Don't Equal Influence-->Distribution and Expansion Does
Friday, May 07, 2010
Test upload of video via Gmail to Posterous
This video was just shot at the Pub at Crestview Hills.
Thank you,
Mark McFadden
www.markmcfadden.tel
Is Yours a "Hunch-Friendly" Environment?
Thought #1: Within the post Carr states, "...give your employees the latitude to explore their ideas and you'll be amazed what they come up with." I understand that you have core objectives that you must and should meet. However, does your company provide any time for your greatest asset, your people, to think of new processes, products, and/or services?
Thought #2: Carr also states that organizations and individuals should be "...thinking in terms of next practices instead of best practices." In other words, we must think not only about how to improve current processes but what would could be doing going forward?
Thought #3: The post also mentions "...the importance of respecting people and their ideas, and how people need to feel a human bond at work if they're going to feel invested." While we know the value of respecting differing views, how do we increase the sense of "human bond" among ourselves?
I think each of the above ideas take one thing that we all seem to have little of--time.
With that said, my assumption is that providing small amounts of time for innovative thinking will be be well worth the investment. After all, any company is really an information based organization--both formal information with customer data and informal information of ideas that could improve the use of that formal information.
Wednesday, May 05, 2010
Multiple Information Streams, Self-Motivation, and the Outcomes
Within the rarity of sustained attention, other factors than limited time and having too many options come into play. When considering a more open access to data via the internet, one's attention will not always be placed on content that is most substantial or fact based:
She then goes on to say:
Boyd then goes on to discuss having multiple information options also results in selecting sources that look and think like we do, therefore limiting valuable, serendipitous encounters with differing ideas and concepts. However, that is a later post. :-)
Finally, I understand that what is considered "valuable" information is subjective. In my view, the determining factor is not "limited attention" but rather what motivates us to direct our limited attention to the information streams we select. Are we constantly drawn toward and given to the siren songs of gossip, violence, and sex? I think a valid question is, are the content streams you consume beneficial for you let alone society as a whole?
Tuesday, May 04, 2010
Status Last Ten Facebook App
"Killer" Apps...Humans to Blame
As he states, "Now, millions of customer records and corporate interactions can be examined with ease; seemingly disconnected swaths of data points can be mined, categorized, analyzed and presented to executives and line of business managers; and new trends and patterns discovered can show profit and loss at both granular and enterprise levels....But there is often a powerful human downside."
Wailgum then details how an insurance company used patient data to determine potential fraud cases and then canceled their customers' policies based on often unsubstantial information. A typical knee jerk reaction that calls for an abandonment of technology is not the correct response to it's improper use.
Finally Wailgum writes, "While technology is the enabler in all of this, technology isn't to blame. We must remember that real, live human beings are making decisions from the software's computational capabilities. We still have to hold the people accountable....Just because IT applications are dispassionate and without feeling doesn't mean we—the humans using the tech—have to be, too." (emphasis mine)
Monday, May 03, 2010
B2B - Twitter | B2C - Facebook (?)
Friday, April 30, 2010
Redirect your hatred of Flash to the W3C
Thursday, April 29, 2010
Testing inline images from Gmail post to my Posterous.com blog


One of the Best Things a Marketer Can Do....
Tuesday, April 27, 2010
Posterous already had the Facebook "Like" Button implemented
Dilbert's take on the Lost (insert "Apple" here) 4G Phone in the Bar
Question--How to use data to predict and act to better serve customers and gain a competitive edge?
"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
Friday, April 23, 2010
Which is Smarter--Man or Machine?
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?
Tuesday, April 20, 2010
LinkedHashMap, dynamic int Array, and an ArrayList in Java

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
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.
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
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.
Thursday, April 15, 2010
Organic...Better than Artificial
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
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?
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?