Thursday, August 09, 2012

There is No Defect.

I am in agile training for my employer. Someone from software testing asked how we deal with defects in our implementation of agile. One of our development managers made the statement that thinking about the agile process in similar ways to our past waterfall methodology no longer applies. He said, "Do not think of defects, there is no defect, only a working system that needs a change."

This reminded me of the first Matrix movie where Neo, when within the Matrix, was at the home of the Oracle watching a boy bend a spoon telekinetically:
Spoon boy: Do not try and bend the spoon. That's impossible. Instead... only try to realize the truth.
Neo: What truth?
Spoon boy: There is no spoon.
Neo: There is no spoon?
Spoon boy: Then you'll see, that it is not the spoon that bends, it is only yourself.

Sunday, June 24, 2012

My Review of Running Lean, 2nd Edition

Originally submitted at O'Reilly

Iterate from Plan A to a Plan That Works

Running Lean, 2nd Edition Review
By m2web from Erlanger, KY on 6/24/2012
4out of 5
Pros: Easy to understand, Concise, Accurate, Helpful examples
Best Uses: Novice, Expert, Intermediate
Describe Yourself: Developer
This book is a practical work that enables you to take immediate steps to a lean start-up . In a nutshell the subtitle states the content of the book: "Iterate from Plan A to a Plan That Works."

One of the more helpful aspects of the book is its emphasis on learning the market fit of your proposed product by working face-to-face with potential and actual customers. Moreover, you are given examples of how to test your hypotheses, determine product pricing, define your Minimum Viable Product (MVP), and learn and improve from each step in the start-up process.

Finally, the book provides links to several helps such as the Lean Canvas which is "the faster, more effective way to communicate your business model with internal and external stakeholders" at leancanvas.com.

Saturday, June 23, 2012

Updating VirtualBox on Ubuntu 11.10 Oneiric Ocelot 64 bit

I went to update my install of VirtualBox on Ubuntu on my Acer Aspire Netbook. When I went to update via selecting the DEB file the Ubuntu Software Center app was not responsive to my selection to install the new VirtualBox build. A little digging and I found the next steps. From a terminal:
sudo apt-get remove --purge virtualbox-4.1
Note that the version will depend what you have installed. Then when I selected the VirtualBox.deb file the Ubuntu Software Center acted as expected by installing the upgrade. Mind you, I know that I could have issued a:
sudo apt-get install virtualbox-4.1
but I wanted the latest that I just downloaded from Oracle.

Tuesday, May 29, 2012

Amount of Serendipity = Luck Surface Area

I am currently working through the book Running Lean: Iterate from Plan A to a Plan That Works by Ash Mauryaby. In the book is a reference to a blog post entitled Increasing Your Luck Surface Area. Here are a few quotes from that blog post:
The amount of serendipity that will occur in your life, your Luck Surface Area, is directly proportional to the degree to which you do something you're passionate about combined with the total number of people to whom this is effectively communicated.
To satisfy my mathematically oriented brain I've gone one step further and formalized the concept into the equation L = D * T, where L is luck, D is doing and T is telling. This demonstrates clearly that the more you do and the more people you tell about it, the larger your Luck Surface Area will become. And while I like equations, it's the graphical representation that really brings the concept home.

Inline image 1
In other words, the larger the target, the better the opportunities of being hit by serendipity!

Saturday, April 21, 2012

Vim and help with the answer 42

Watching a presentation on Vim by Bill Odom and he mentioned a fun item in the help feature for Douglas Adams fans. In Vim issue the following
:h 42
Here is what you see:
What is the meaning of life, the universe and everything?  *42*
Douglas Adams, the only person who knew what this question really was about is
now dead, unfortunately.  So now you might wonder what the meaning of death
is...

Thursday, April 12, 2012

Turning Consumption into Production

During my morning run I was listening to This Developer's Life Podcast by Scott Hanselman is a production that deals with general areas of a typical software developer's existence. This latest show discusses the need to be a continual learner.

One of the points made in the podcast was the concept of turning the consumer of software, consider the person playing hours of video games, into a producer of software. Imagine the amount of time and brain power applied to just video gaming by the consumers of those games!

One aspect to turn consumers into producers may be the use game mechanics in the actual creation of programs. The addicting factor of video games is largely the desire to "get to the next level."

Maybe simply making the solving of problems via the writing of code the reward. "How can I 'get to the next level' in my understanding of this framework?" or "How many defects can I fix today?" or "What is the most elegant solution for meeting that business need?" Perhaps creating personal challenges out of the problems by asking, "How much can I accomplish today on this bug or issue?"

Just thinking....

 

Tuesday, March 20, 2012

Operation not allowed for reason code "7" on table "YourTableHere" in DB2

Note to self: When you make a change to a DB2 table and you see the following database error in the logs:
Operation not allowed for reason code "7" on table "YourTableHere"

It is time to issue a reorg on the table via this:
CALL sysproc.admin_cmd('REORG TABLE YourTableHere');

Tuesday, March 06, 2012

Review of JavaScript Web Applications by Alex MacCaw

Title: JavaScript Web Applications
Author: Alex MacCaw
ISBN:144930351X
ISBN-13978-1449303518
Javascriptwebapplicationscover

Pros: Extensive, Well-written, Several examples
Audience: Advanced and/or Intermediate Developers
Introduction
I started this book thinking that it would provide a basic overview of the use of JavaScript within web application development. Boy was I wrong! This text is really a manual on creating a full featured JavaScript web based app. Given that the author is the creator of Spine.js, he is qualified to create an extensive JavaScript Manual.
As a Java and .Net developer, this text is more that I require concerning the use of JavaScript. However, I am sure that as time goes on and JavaScript is more embedded in various frameworks via the likes of JQuery, etc. this book will become more practical for me. 
Review
Instead of giving a chapter by chapter review, here is the summary of the overall content of the book (as if such is easy to do for this comprehensive work). This book is not for those just starting JavaScript development. However, if you have experience in another language, this resource will serve you well as you move into further JavaScript programming. 
The initial part of the book deals with the concept of the MVC framework, models, events and event handling, controllers, application state, views, and templating. The examples are mostly in JQuery which is also my framework of choice for JavaScript development. MacCaw also covers Node.js, Socket.IO, and WebSockets. Moreover, he also provides an examples on testing, debugging your apps, as well as a look at the Backbone and Spine.js (which he created) libraries. Finally, the text provides further information on JQuery, CSS extensions, and CSS3 in the appendixes.
Conclusion
When you are ready to take take the deep dive into developing a JavaScript based we application, this is your manual.

Friday, March 02, 2012

Personal Informatics: The Weather

This past year I have been tracking various personal data key indicators. One has been the number of miles ran per calendar month. Having used Runkeeper to do this an interesting observation has emerged. 

It has been no secret how mild the winter has been here in the Greater Cincinnati/Northern Kentucky area. However, this February 2012 is about the same as February 2011 concerning being able to run outdoors. The temperatures seem to be higher in February 2012 but the conditions that allow one to run outside, no ice or snow, were no different this year than in 2011  Look at the monthly numbers from Runkeeper for this 2011-2012 winter season:

2012running

Compare this to the 2010-2011 winter season:

2011running

Running outside November 2010 through January 2011 was not safe due to ice and snow. While there is a vast difference between the months of November through January for both winters, the month of February was not different for either winter season. Interesting....

Thursday, March 01, 2012

Autotest on Ubuntu 11.10 running Rails 3.2

I’m reading and working through Ruby on Rails Tutorial from Michael Hartl. The book rightly promotes a "test first" approach. In this Hartl mentions autotest. As the text mentions, "configuring it can be a bit tricky."
Here are the steps I used to get autotest working on my Ubuntu 11.10 OS running Rails 3.2.0.rc2:
$ gem install autotest
$ gem install autotest-rails-pure
$ sudo apt-get install libnotify-bin
$ gem install autotest-notification
Next, I added the ~/.autotest file:
Then, I simply ran autotest from my rails app directory:
$ rails-apps/myapp autotest
This is nice in that I do not have to manually run the rspec tests as autotest runs each time I change a test file or the tested implementation code. 

Wednesday, February 22, 2012

Ghost in the Machine - secondary, tertiary, etc.side effects

Was listening the the This Week in Tech podcast and caught a comment by Kara Swisher. The statement dealt with the Wall Street Journal article Google's iPhone Tracking: Web Giant, Others Bypassed Apple Browser Settings for Guarding Privacy where she felt that the Google was not honest in their claim that the code applied to bypass Safari Web Browser settings was not to steal user information. Here is where someone who has not been involved in the development of software systems of any size fails to realize that when you have several coders working on a system, some pieces of code have side affects that have not nor could not be anticipated, period.

Yes Google has some brilliant software engineers. However, even the best minds cannot foresee all or most secondary and tertiary effects of a piece of code. To simply say that they knew all ramifications of the code is not to consider the complexity of their systems.

I am not saying that Google is always ethical. I have submitted previous posts that clearly state that I understand the danger of user data potentially being misused. I am not so naive to think that they are not interested in making money. But I am not sure that this case, that stemmed from code added that was designed to make different web browsers consistent which is a better experience for the user, is the result of malevolence to steal user information. It is certainly possible for it to be used in that way but again, this really could be a case of an unintended side effect or what is commonly termed, the ghost in the machine.

Tuesday, February 21, 2012

Use and Calibrate the Compass

Seth Godin makes a good point in his blog when he states:

The map keeps getting redrawn, because it's cheaper than ever to go offroad, to develop and innovate and remake what we thought was going to be next. Technology keeps changing the routes we take to get our projects from here to there. It doesn't pay to memorize the route, because it's going to change soon. The compass, on the other hand, is more important then ever. If you don't know which direction you're going, how will you know when you're off course?

The map may be easier but as Godin says it will be constantly changing. Therefore, let's get good at using a compass.

To find our direction, I must turn the compass dial until the North mark and the "Orienting Arrow" are lined up with the North end of the needle. Then, whichever direction is on the opposite side of the compass, that is the direction you are heading. Now, orient yourself to the direction you want to go with the compass dial until the North mark and the "Orienting Arrow" are lined up and you are good to go. For example, the picture below shows you pointing west.

Compass-west

Now, you can take any road that will allow you to go west and not be stopped if the road your on is closed. Just navigate to another road going west by the use of the compass.

Of course, the compass in Godin's article was a metaphor. Yet, this concrete example shows us that we need to get better at calibrating our compasses or our sense of the proper direction. We need to determine the best direction via "the compass" and stop memorizing maps to get where we are going professionally, personally, etc.as the maps will be changing faster as we move forward in our journey.

I need to remember this next time Google Maps leads me into a corn field instead of where I wanted to go!

Saturday, February 11, 2012

...fatal error: parser/kwlist.h: No such file or directory compilation terminated on Ubuntu

Yesterday I was compiling and installing the latest source code for pgAdmin3, a popular Open Source administration and development platform for the PostgreSQL database, on my netbook with the Ubuntu 11.10 operating system and ran across the following error:

...fatal error: parser/kwlist.h: No such file or directory compilation terminated. 

Earlier this month I had built and installed pgAdmin3 on two other systems and ran into the same problem. Because I had hunted this header file down and stored it on my Dropbox account, I had it handy and dropped it into the source code and went on my merry way with the build. 

Therefore, for those who run across this issue I have linked the file here.

Simply drop the file into the /theSourceCodeDir/pgadmin/include/parser directory and reissue the make command. 
Enjoy  :-)

Friday, February 10, 2012

Build an adaptive culture that will invest in process only when it is needed

I just watched a great video with Eric Ries, entrepreneur-in-residence at Harvard Business School and author of the book The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses.

Within the video he examines the technique of the "5 whys." In short, those involved in a lean startup will for each problem they must tackle (1) ask "why" at least 5 times digging further into a  problem with each "why" questions. (2) Next they are to find the human problem behind every seemingly technical issue. And finally, (3) make a proportional investment in each of the 5 "why answer" layers. This will build an adaptive culture that will invest in process only when it is needed and not expend valuable resources.

For example, let us suppose you are part of startup X and one of the startup's main partners asked a software developer, "Why didn't we get that last feature into the release to show to the investors?" That was why number 1. The software developer answers, "Because I did not have enough time." The partner then asked, "Why didn't you have enough time?" Again, why number 2. "Because I can only add features to the application on week-day nights." "Why only on weekday nights?" Why number 3. I think you are getting this by now. "Because I have a full-time developer job that I work during the week and I want to spend time with my family on the weekend." "Why did we not consider your time limitation when prioritizing features and do the more important features first?" "Not sure, I was told to add the features in this order." "Why who was it that told you those features?" "The project manager."

We see the human factor here is both the developer resource limitation as well as with the program manager on how the priorities of the software program's features were determined.

Proportional investments into the first three layers could be addressed by adding development resources. The last two layers could be remedied by the full team collaborating on what the startup's software should feature. Simple and elegant. 

Thursday, February 09, 2012

Weblining - what you'll miss

In the previous post I discussed how the use of the results of the analysis of individuals' aggregated data and what Lori Andrews termed "weblining." 

Andrews sees the limitation of chance encounters as well when considering the results of a demographic segment's data analysis in targeted advertisement. "When young people in poor neighborhoods are bombarded with advertisements for trade schools, will they be more likely than others their age to forgo college? And when women are shown articles about celebrities rather than stock market trends, will they be less likely to develop financial savvy?" 

In other words, media content tailored to the individual's preferences may lead to a lack of exposure to new products as well as ideas and view points. This area of negative impact from this use of data aggregation analysis is what I and others before me call the loss of serendipity. Dictionary.com defines serendipity as "an aptitude for making desirable discoveries by accident."

Lenny Rachitsky, in his TED Talk entitled Losing Serendipity shares that we may be denying ourselves our next favorite thing by limiting our exposure by what we like on Facebook or the narrow news feeds we select and hear.

Lennyserendipity

Could it be that with targeted advertising and by following only those viewpoints and ideas with which we already agree and are comfortable with that we are losing out on what we may discover and/or may be beneficial for us? Could it be possible that a new type of food we will love could be missed if we always went to the same restaurant? What about that next song you will not hear because your current music tastes reflected in your Facebook posts limits what music advertisements Facebook provides to you? 

Does this mean that we should not utilize data to target advertising? Of course not. Data analysis and the discoveries it provides offers too much potential to ignore. The question in my view is, how can we use technology to increase an aptitude for making desirable discoveries by accident? 

Wednesday, February 08, 2012

Weblining--what you 'search' can be used against you?

Anyone who has watched a law enforcement television show has heard the apprehending official state the Miranda warning to the person being arrested. "You have the right to remain silent. Anything you say or do can and will be held against you in a court of law...."

According to Wikipedia, "the 'Miranda rights' was enshrined in U.S. law following the 1966 Miranda v. Arizona Supreme Court decision, which found that the Fifth Amendment and Sixth Amendment rights of Ernesto Arturo Miranda had been violated during his arrest and trial for domestic violence." Within this decision the court did not provide the exact wording of the warning but did set guidelines that law enforcement must follow:
"...The person in custody must, prior to interrogation, be clearly informed that he or she has the right to remain silent, and that anything the person says will be used against that person in court...."

In her recent New York Times article Lori Andrews provides a similar warning. She defines "weblining" as using the results from analyzing aggregate data to discriminate against individuals or groups of people. The term is based on the use of "redlining." Andrews explains:
"In the 1970s, a professor of communication studies at Northwestern University named John McKnight popularized the term “redlining” to describe the failure of banks, insurers and other institutions to offer their services to inner city neighborhoods. The term came from the practice of bank officials who drew a red line on a map to indicate where they wouldn’t invest. But use of the term expanded to cover a wide array of racially discriminatory practices, such as not offering home loans to African-Americans, even those who were wealthy or middle class."

For example, "Your application for credit could be declined not on the basis of your own finances or credit history, but on the basis of aggregate data — what other people whose likes and dislikes are similar to yours have done." "What?!?" you might ask, how can that be? Andrews goes not to explain that "If guitar players or divorcing couples are more likely to renege on their credit-card bills, then the fact that you’ve looked at guitar ads or sent an e-mail to a divorce lawyer might cause a data aggregator to classify you as less credit-worthy. When an Atlanta man returned from his honeymoon, he found that his credit limit had been lowered to $3,800 from $10,800. The switch was not based on anything he had done but on aggregate data. A letter from the company told him, 'Other customers who have used their card at establishments where you recently shopped have a poor repayment history with American Express.'"

Wow! While I do think that the analysis of data can and does provide the consumer with more useful, directed advertisements, this is not a proper use of individuals' aggregated data. So, here is your warning, what you search can and may be used against you. Now you know.

Tuesday, February 07, 2012

When creating Postgresql users....

Being new to the Postgresql database server this is a note to self, in the future when creating postgresql users, remember the options precede the user name. For example, to create a user with an encrypted password issue the following from the command prompt:
$ sudo su postgres
$ createuser -e -P theUserNameHere
The first line logs you in as the postgres superuser. The next line is where the user is created. The -e option is so the password is encrypted and the -P option is so the password is requested before the user creation is complete. There, now I have it for future reference. 

Thursday, February 02, 2012

...more tangible, more linear and more contextual

In her NY Times piece, The Dilemma of Being a Cyborg, Carina Chocano defines a dilemma of depending on memory extension devices such as smart phones: "It’s that we’re collectively engaged in a mass conversion of what we used to call, variously, records, accounts, entries, archives, registers, collections, keepsakes, catalogs, testimonies and memories into, simply, data. 'Data' has become the default word used to describe the constantly generated, centrally stored evidence of our existence. I wasn’t surprised to learn that the word “data” comes from the Latin for 'to give,' and refers to something that is given or relinquished. It also feels significant that data rests at the very bottom of the so-called knowledge hierarchy — below information, knowledge and wisdom."

Her tone is one of regret. She expertly details that as we move our digitally captured memories and experiences to silicon extensions of ourselves, we lose what biological memory is good at providing--an emotional context that was a tangible part of our space/time existence. "Data is weightless and characterless and takes up very little space. The more of it we save, the more we lose the ability to differentiate it, to assign significance and meaning."

At the end of the article she discusses the small revival of the use of physical media such as vinyl records or cassette tapes. "It strikes me that the current fetishization of analog technology has less to do with nostalgia than it does with an urge to slow down the transfer of data from the internal to the external, from the individual to the collective, and to make it all less instant, less ephemeral, less interchangeable, and more tangible, more linear and more contextual."

Given that we are all cyborgs now, what can we do to recover the richness of ourselves that is more tangible, more linear and more contextual? It is not as if we will abandon those devices any time soon. Could it be that we can find a way to use them in a more tangible, linear, and contextual fashion? Is this where the Facebook timeline can help a person as they look at their own and other friend's profiles? Perhaps looking at the timeline with a significant other as they remissness over those actual events?

While I agree with Chocano that reducing our contextually created memories to bits and bytes is not the same as "remembering," can we use binary data to create meaningful memories? I hope so.

Wednesday, February 01, 2012

Highly Specific Rituals

I was perusing the Harvard Business Review blog site and came across the Why Don't We Act in Our Own Best Interest? post by Tony Schwartz. This should sound familiar to us in that we often hear the phrase that we are our own worst enemies.

Schwartz's answer to the question that he poses is "The most basic answer is that we don't make a connection between our current behavior and its future consequences."

Schwartz's remedy? "It's to rely more on our pre-frontal cortex, which allows humans alone to imagine the future consequences of our actions. Too often, instead, we use our pre-frontal cortex after the fact, to rationalize and minimize our short-term and ultimately self-defeating behaviors." While I agree, the problem here is literally easier said than done. So, what things can we do that reminds us to use our pre-frontal cortex and not the amygdala?

"Our own work at The Energy Project focuses on helping individuals and organizations institute highly specific rituals — behaviors and practices that eventually become automatic and serve sustainable well-being and effectiveness. We can learn to be far more conscious and intentional in our behavior, and less self-centered and short-term in our perspective. Doing so requires deliberate practice."

Again, I agree whole heartily. But isn't the trick here to not give in to the lizard brain and procrastinate on those "highly specific rituals?"

Tuesday, January 31, 2012

The Wake of the Intangible

Last year I completed the book How to Measure Anything: Finding the Value of Intangibles in Business by Douglas Hubbard and the concepts garnered from the book are still incubating. As the subtitle indicates, the challenge businesses face is in using the "intangibles" within measurement and decision making. 

Dictionary.com defines intangible as something that is "Unable to be touched or grasped; not having physical presence." Okay, how if it does not have any physical presence, how can we measure its attributes and then gain any value from them?

In short Hubbard proposes that even intangibles provide observable effects. In my view it is as if an unseen boat just passed you quietly on the water. Because of the fog you did not see the boat and due to its distance you could not hear it, but you could still feel the waves in its wake. The question then becomes, how can I use the waves to inform me about what just passed me through the water? While not the same as having the ability to visually track the passing boat and calculate the time and distance and its dimensions, the waves do nonetheless provide some data that one could use. The challenge is, how can we get value from the waves?

Within the book Hubbard details his Applied Information Economics (AIE) to assist in this challenge. See the diagram below:
 Screen shot 2010-08-05 at 2.06.53 PM.png

See the Everything Is Measurable table below for more.
Image

Friday, January 20, 2012

Product of Negative Integers...Easy as -1, -2, -3

I have been reading One, Two, Three: Absolutely Elementary Mathematics by David Berlinski. While the topic is basic mathematics, the book's content is not elementary my dear Watson.
In a side discussion of negative numbers he presents a proof of a rule that has baffled students since the discussion of positive and negative integers began--namely if when you multiply two positive numbers the product is positive and when you multiply a positive number to a negative number you get a negative outcome, how is it that when two negative numbers are multiplied together the result is a positive number? Berlinski eloquently details the proof on over two pages with this conclusion:
[xy + x(–y)] + (–x)(–y) = xy.
[xy + x(–y)] + (–x)(–y) = –x–y.
Therefore, xy = –x–y.
Berlinski, David (2011-05-10). One, Two, Three: Absolutely Elementary Mathematics (p. 153-154). Pantheon. Kindle Edition.

I thought it would be good to do this in Ruby for fun. And sure enough, the proof stands true.

Wednesday, January 11, 2012

Vagueness: the path to the adjacent possible?

In his Wired article entitled In Praise of Vagueness, Jonah Lehrer writes, "According to an experiment led by Catherine Clement at Eastern Kentucky University, one way to consistently increase our problem-solving ability is to rely on vague verbs when describing the problem. That’s because domain-specific verbs–actions which we only perform in particular contexts – inhibit analogical reasoning, making us less likely to discover useful comparisons. However, when the same problem is recast with more generic verbs – when we describe someone as 'moving' instead of 'sprinting,' for instance – people are suddenly more likely to uncover unexpected parallels. In some instances, Clement found that the simple act of rewriting the problem led to impressive improvements in the performance of her subjects."

Apparently, vagueness allows one to move to the adjacent possible more easily. Therefore, when stuck back away from specificity and get general.

Monday, January 09, 2012

Why we study history

On my run today, 1-9-12, I was listening to the This Developer's Life podcast that spoke of the value of looking at older programming languages and technologies and what can be gained from looking back at the refined algorithms of older programming languages and the efficiencies of other older technologies. One thing that stood out to me within the discussion is the long life of the Fortran language. Fortran developer David Sokol stated that Fortran is largely supported by academic institutions and research. While software companies come and go, one thing that stays is the need to teach, study, and learn. This reminds me of the concept of "the root produces the fruit." In other words, information does not emerge from nothing. With continued use, refactorings, and adaption older languages can provide the context for gaining old ideas for new platforms and technologies.

Tuesday, September 13, 2011

"Compliant sergeants rarely become great generals."

In Seth Godin's recent blog post Confusing obedience with self-control he spoke of the value of obedience. He also stated that, “obedience transforms into self-control. That at some point, people start obeying themselves and become leaders.”
 
In other words, to be a leader, you must think for yourself and be obedient to what you know is correct. Your creativity and ideas should be your guide as you understand and comply with others such as your employer and civil authorities for the common good.

In short, we must not confuse self-control with mindless adherence.

Posted via email from Mark's Musings

Tuesday, August 02, 2011

It is OK to not know it all.

Recently, when I upgraded from my first generation Motorola Droid to the new Droid 3, I called by the local Verizon store and asked if the chargers, cradle, and car mount that I have with my current Droid would work with the Droid 3. I was told that all the hardware that I have with my droid would work with the droid 3. Well...not so. Both the cradle and the car mount will not work. As the buyer we always need to do our homework and understand the stipulations, etc. with the purchase. However, if as the vendor or service provider, you do not know for certain an answer to a question, please do not respond as though you do.

I understand that the phone store personnel are good people. Nor do I think anyone is trying to deceive or bait and switch. With that said I do think that being clear and complete with the customer goes a long way. In other words, if you do not know then state that as far as you understand this or that is true but you really need to meet face-to-face to discuss all the details or research the question further and then you can make a determination. It is OK to not know it all.

Monday, August 01, 2011

Random Rebooting of the Droid 3-Synced WIFI Settings?

Since I updated to the new Droid 3, I am finding that the phone randomly reboots every now and then. While I love the response time of the phone and the crisp view screen, the phone deciding to restart on its own is not OK. After a quick search I found a series of messages that show the issue may be tied to how WIFI networks are restored from Google during the syncing of your previous WIFI settings.

Here is a blurb from Google:
Further testing & confirmation from other testers on forums correlates this crash strongly to the restoration of wifi settings during provision of the phone & sync to google.  Users who have factory-reset the phone and disabled google syncing have solved the problem, and users who have deleted all restored wifi networks have seen similar benefits.  The twitter account in the 'my accounts' manager was indeed a red herring and does not seem to be related to the bug, as removing it has not re-introduced the problem. Workaround:  Delete ALL wifi networks after provisioning phone, and recreate them using the Droid3 UI.

This was found at: http://code.google.com/p/android/issues/detail?id=18460. I really do not want to go back to factory settings so I am hoping a simple removal of the WIFI network settings and manually rebooting the phone will cure the random reboots. Thus far, since doing the above steps no more reboots.

Posted via email from Mark's Musings

Sunday, July 31, 2011

Review of Programming HTML5 Applications: Building Powerful Cross-Platform Environments in JavaScript by Zachary Kessin

rc_cat.gif

With the emergence of the popularity of HTML5 many books are quickly hitting the shelves. Here is an offering that provides both a high-level overview along with example code.

The first chapter, The Web as a Platform for Applications provides an historical backdrop for the HTML5 standard by reviewing the founding of the web, JavaScript’s history, the emergence of DHTML and AJAX, and laying of the ground work for the present environment.

The second chapter, The Power of JavaScript, reviews some nice aspects of the language such as functional programming,  closure, being able to expand objects, and functions with prototypes.

Chapter three, as the chapter title implies covers the JQuery, “a JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.”

The next chapter details ExtJS. While ExtJS is another JavaScript library, this library provides more than a DOM manipulation and event handling. ExtJS has several objects that provide the developer with several tools to create rich internet applications. The chapter contains good content but still needs another “proof-reading pass” as there are several typos and even a “TODO” or two.Chapter 5 details using QUnit and Selenium to test JavaScript. This chapter provides good code examples using these two test frame works. Chapter 6 shows the developer how to use the browser’s localStorage and sessionStorage objects as well as consider browser-based databases.

The next chapter, Take it Offline,  deals with using HTML5’s new manifest file from which a user can load multiple files. Chapter 8, Splitting Up Work Through Web Workers, takes the reader through use of web workers to do, as the chapter title suggests, a division of tasks.

The reader is then brought to the topic of Web Sockets where bidirectional data can be established over TCP. Finally the chapter Internet, 2017 takes the user through the consideration of new and future technologies, of which HTML5 is a part.

In summary, while this book does provide a good overview of the above topics, it may not provide the detail that some developers desire. Also, at least in its early release stage, as of July 2011, the text shows many signs of a draft in progress with missing punctuation and various TODO’s sprinkled in some of the chapters. However, it does provide a quick and basic overview of the concepts and parts of HTML5 and JavaScript that are necessary to move forward.

Thursday, June 16, 2011

Review of An Introduction to Machine Learning with Web Data by Hilary Mason

An Introduction to Machine Learning with Web Data by Hilary Mason; O'Reilly Media.

The video itself is presented in five sections: (1) Introduction, (2) Classifying Web Documents - The Theory, (3) Classifying Web Documents - The Code, (4) Clustering , Recommendations, and Probability, and (5) Conclusion. In short, the video Hilary uses web based data to show the audience how to work with data to solve problems you may have by using basic machine learning techniques. The video is particularly directed at programmers who do not have statistical training.  
The viewer will sit with a group of a few other students and feel the imtimate setting of a small classroom. For myself, a video where you can re-watch segments, stop the video to reference a suggested resource, or pause to experiment with a variant of the code is both helpful and handy. For example, in the introduction, Hilary references a link (http://bit.ly/9RYQEF) that explans the concept of "data science." At that point, I paused the video and browsed to the link and found it quiet informative. By the second section, Classifying Web Documents - The Theory, the audience is gently taken into statistical techniques such as naive bayes and shown a step-by-step approach in how the math is applied. In the  Classifying Web Documents - The Code, the participant utilizes python code and the New York Time API to classify words from the New York Times web site. Within the Clustering, Recommendations, and Probability video the viewer is taken through code that demonstrates how to take data with which little is known and learn from the clustering results. Finally, the conclusion section deals briefly with the concepts of probability and then reviews the entire sessions content. 
While being able to navigate around in python is beneficial and by following along with the running of the code one can learn and retain more information, the participant can just view the video content as both the code and concepts are displayed and explained. What is nice is Hilary provides the code used in the video from her Git repository at https://github.com/hmason/ml_class. If the viewer wants to participate she will need to make sure that they have the proper python modules installed. 
In conclusion, the software developer that has little more than the required stats college class would do well to purchase this video. Seeing the actual application of code to the basic statistical algorithms is extremely informative and applicable in various problem domains.

Thursday, May 19, 2011

Playing my Daily Healthmonth Turn and to Posting to 750words via my Droid

For over the past three months I have been using a few sites that help me to reach my personal goals within a "gamified" process.
 
The first site, healthmonth, is according to its creator Buster Benson, "an online adaptation of a game some friends used to play every year right after New Years."
 
The second, 750words also created by Benson, is a site that encourages the daily writing of...you guessed it, 750 words. The site provides an online, private space to compose an essay, journal, or just write what is on your mind. As you type, the site saves your work, tracks and displays your word count, and lets you know when you've passed the coveted 750 word mark. The fun aspect is in the fact that 750words keeps a score card of points for the days you enteract with the site. 750words also keeps track of the consecutive number of days (or streaks that) you submit completed posts. You can also see how others are doing point and streak-wise to fuel your competitive nature.
 
My wife and I were away from home for a few days and I was not certain if we would have reliable wifi access to play my daily healthmonth turns and to post to 750words to keep my 100 day plus streak alive. So, I wanted to find away to use my Droid to utilize the sites. 
 
I was able to play my turn on the healthmonth site easily with the Droid via the native web browser. However, posting to 750words was a little more tricky. While I could type a 750 word submission with the droid keyboard, I found it more feasible to create the post on my desktop, laptop, or netbook and import them into the Droid via a text app I use, AK Notepad. Then, once in AK Notepad I could copy and paste the text into the 750words site via the web browser. Note that any text editor should work in a similar manner in your Smart Phone. Specifically, here are the steps I took:
 
First you have to import your 750word posting into the AK Notepad. To import text (.txt) files into the Andriod AK Notepad app you will need to do the following:
1) Have a folder that is created during an export. You will need to use this folder as AK Notepad will not see folders created manually. If it is not there, create a directory to use by selecting and holding down a note from the list of notes, then select the "Export to text file" menu option.
2) With the droid connected to a computer via a USB cable place the files that you desire to import into AK Notepad in the directory in step 1 above.
3) Disconnect the USB cable and opened the app on the phone.
4) Select "Menu" and then "Settings"
5) Under Import/Export section select "Import notes" and then browse to the folder in step 1 above. NOTE: each file in the selected folder will be imported.
6) Select and hold the folder and then from the popup menu select "Use this folder." This should import all the files in the folder.
Next, open the note that you want to post on the 750words site and select and hold down the text until the popup menu is displayed and select the "Copy all" option. Now that the text is copied to memory, open the web browser, browse to the 750words site, and paste the text into the site page. The site will auto-save the entry.
 
Now, if I plan to be away from reliabe internet access I can still play my daily healthmonth turn and to post to 750words to keep my streak alive.
 

Posted via email from Mark's Musings

Wednesday, May 18, 2011

Not Being the Expert

It is interesting to note as you move throughout your day, we are fearful to appear as not being the expert. Why? Perhaps there is an expectation that you are to be the person who is considered the expert in this or that? Maybe you have a self-image that you are the go-to-person on this subject or that topic?
 
Regardless, why is it OK to not be the expert? Isn't there value in just being the person that is trying to learn as much as he/she can and enjoying the journey? What is more important, being seen as the person that is the expert or being known as the individual that is open to learning, realizes that there is always more to understand, and is known to be gracious to others who lack their level of knowledge? I think the latter.

Posted via email from Mark's Musings

Sunday, February 27, 2011

Where's that taboo when I need it? To Social Media I go....

Historically, communities with their various cultural taboos, acted as societal controls and helped its citizens curb harmful behaviors. Granted, while come taboos were used as instruments of oppression, others did and do help one restrain oneself unto positive outcomes.

In the New York Times article by Stephanie Rosenbloom, I Resolve. World, Don’t Fail Me Now, Rosenbloom deal with New Year's resolutions:

Certainly, you don’t need cyberspace to share your resolutions. But the potential humiliation of failure is more potent online. Social networking sites also enable you to formalize and, in many cases, regularly track your goals, which makes it harder to blow them off. Some sites reward you with a badge on your Facebook page or a congratulatory message. Nearly every site makes it easy to tell friends about your ambitions as well as to help find strangers who share your goals. The latter is useful if you don’t want to discuss your resolutions with friends and family.

A site that I started using recently, 750words, has assisted me in journaling daily. The site, create by Buster Benson offers stats and analysis of one's writing. This feature is what drew me to use the site as I am on a year long personal data collection and analysis venture to test the value of personal data analytics. In addition to the 750word site, starting in March I will be using another site created by Benson, HealthMonth.com. There, one can set up rules to help change behavior in either a public or private manner. This site, along with others on the web, act as both a daily motivator and reminder of the goals.

In summary, the visible nature of these sites assist with self-imposed, virtual taboos that help motivate me.

Posted via email from Mark's Musings

Friday, January 07, 2011

The Future of Business Intelligence--Everyone a Data Analyst?

I follow a local LinkedIn group, Cincinnati Regional Business Intelligence Networking Group, where the question “Where do you think the future of Business Intelligence is headed?” was posted. My response was:
Personally, in addition to the normal predictive data analysis, I see a real strength is to have everyone that deals with data, the administrative assistant to the CEO, understanding how to properly interpret the data that they deal with. Therefore, everyone in the organization has the ability to provide insight into better decision making at their level.
  
Another member of the group then asked in response, “Mark, what data tools do you see being developed or expanded upon to reach this goal? I believe that total company comprehension of corporate data could also be the way of the future.”
  
This caused me to further reflect and consider how enterprise wide data analysis, by most if not all employees, might look. I replied:
Foremost, standard data understanding needs to be basic training for employees. For example, training them how to: disassemble complex problems in order to better evaluate and solve the issues, develop hypothesis and experiment with the data to find unknown causal relationships, use of current common tools such as spread sheet apps (for example, using the Solver function for data optimization) and free tools such as R, understanding how to use data visualization, understanding and using Bayesian rules, etc.
    
Along with the standard extract, transform and load (ETL) and reporting tools, apps that can assist in the above would be very valuable. Given that the above are really processes that can be applied to various situations, tools that shorten the steps is what I would consider. To be honest, I am not sure that the tools would be as valuable as training employees to understand and do basic data analysis with the data they work with.
  
The consideration of the importance of understanding data and how to interpret it came from an interesting and informative talk by Danah Boyd at Gov 2.0 entitled "Transparency Is Not Enough." The talk is available at http://goo.gl/GraT
  
Per Boyd, "The #1 goal of transparency is to empower people, to give them an opportunity to be informed as citizens, to allow them to be a check to power. But when those in power release data in a way that allows them to maintain power, we've got a huge problem....We must also help people develop the skills to interpret data.....Information is most useful to people when they have the skills to interpret it....Because of this, making information available alone is not the great democratizer. It must be coupled with enabling people to have the skills to interpret it."
  
Applying this premise to the Business Intelligence arena, having access to terabytes of data in and of itself does not result in helping the organization make better decisions. “It must be coupled with enabling people to have the skills to interpret it.”

Posted via email from Mark's Musings

Thursday, December 30, 2010

Lending Kindle eBooks Now Enabled

You can now lend Kindle eBooks. It is still controlled by Digital Rights Management set by the publisher, etc. but it is a next step!

Posted via email from Mark's Musings

Thursday, December 16, 2010

HTML5 Canvas Tag Basic Example II - Gradients and Images

Per my previous post, working with the canvas tag in HTML5, here is some more code with gradients and an image.
  
Thanks again to Mark Pilgrim and his wonderful Dive into HTML5 site.
  
Enjoy: 
  

Wednesday, December 15, 2010

Loving Posterous' use of Github Gist to post code

Loving Posterous' use of Github Gist to post code in your Posterous blog. Just paste a Github Gist URL on its own line and Posterous pulls in the contents automatically, even for your RSS feed and autopost sites. 

Posted via email from Mark's Musings

HTML5 Canvas Tag Basic Example

It has been a while since I posted any example code. Was messing with the canvas tag in HTML5 and thought I would post it up.
  
Thanks to Mark Pilgrim and his wonderful Dive into HTML5 site, I was working through the canvas tag page and put this together (only got as far as the gradient section though). Enjoy:

Saturday, October 02, 2010

"How good software makes us stupid"-You're still smart, what does that say about your software?

In his post to BBC News Technology, "How good software makes us stupid." Like it or not, the research outcomes consistently show that the tools we use to learn also shape our ability to learn. The premise of the article is that good software makes things easier and us more stupid.
 
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!

Posted via email from Mark's Musings

Tuesday, August 31, 2010

RSS - The Really Unknown Syndication

At work, on the corporate intranet site, there is a daily survey question. Today's question was, "Do you use an RSS feed to capture news or similar info from websites?" The possible responses were:
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.

Posted via email from Mark's Musings

Wednesday, August 25, 2010

Wired Mag is bumming me also!

From his August 23, 2010 blog entry, Nicolas Carr states that "he is bummed." Why? Because of Wired magazine's statements over the last 5 years:
 
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!

Posted via email from Mark's Musings

Sunday, August 22, 2010

The Citizen Developer

I have been thinking about the rise of user friendly development tools. Recently, Google released the Android App Inventor tool which according to Google, "App Inventor requires NO programming knowledge. This is because instead of writing code, you visually design the way the app looks and use blocks to specify the app's behavior."
 
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.
 

Posted via email from Mark's Musings

Thursday, August 05, 2010

Lions, tigers, tracking, oh my!

Just looked at a Wall Street Journal Blog article What They Know. While I agree that apps that record and retrieve keystrokes are evil, in my view, most tracking is for data purposes to better serve customers with more relevant advertisements. Agreed?

Posted via email from Mark's Musings

Saturday, July 10, 2010

Time...between compiles

Remember in the first Jurassic Park movie, Dennis Nedry the programmer who attempted to sell/smuggle dino-embryos off the island? He stated that it would take several minutes for the section of the software that he had just added code to compile, and that certain systems would be down during this compile. It was during this gap in time that he attempted to smuggle the embryos.
 
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!
 

Posted via email from Mark's Musings

Future of Tech: Mobile or the Living Room?

Was listening to the Pipeline podcast, episode 20 where "Dan Benjamin interviews Clayton Morris, self-described casual geek and anchor of Fox and Friends about inspiration and creativity, authenticity online and on TV, the way we as viewers are changing the shape of media, pursuing your dreams, balancing work and personal life, and more."
 
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.

Posted via email from Mark's Musings

Friday, July 09, 2010

Never Trust a Programmer

"Programming is a bit of mystery to people. It breeds a lot of distrust in an organization. In general, when you don’t understand what it takes to make something, anything seems plausible. You might think a house can be built in couple of weeks...." Good stuff! The rest here.
 

Posted via email from Mark's Musings

Thursday, July 08, 2010

Who is the "Bitsmith" in your domain?

Harvard Business Review's Management Tip of the Day today (Thursday, July 8, 2010) is Get Yourself a Bitsmith. A Bitsmith is defined as, "a person who understands both the work content and the tools needed to support the job."
 
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."

Posted via email from Mark's Musings

Thursday, July 01, 2010

Ubuntu Lucid Lynx DVD Watching...ba da bing, ba da boom

Got my new Rush: Beyond the Lighted Stage movie DVD the other day. I wanted to watch it on my Ubuntu Desktop. Alas, I did not have the proper libraries loaded. Solution, query the smart and generous Ubuntu community. A quick search yielded How to play video dvd Movies in Ubnutu 10.04 Lucid Lynx.
 
In short, do the following from the terminal prompt:
$ sudo wget --output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list
$ sudo apt-get --quiet update
$ sudo apt-get --yes --quiet --allow-unauthenticated install medibuntu-keyring
$ sudo apt-get --quiet update
 
And, ba da bing, ba da boom...I was watching the DVD on my Ubuntu Desktop.

Posted via email from Mark's Musings

Saturday, June 26, 2010

Free Ubuntu 10.04 Manual

For those of you who are using Ubnutu Lucid Lynx (10.04) or are at least considering it, check out the free Ubuntu Manual. The Ubuntu Manual is available in many languages! Very nice!
 

Posted via email from Mark's Musings

Thursday, June 24, 2010

"Yee haw" instead of Yahoo?

"Yee haw" instead of Yahoo? Got a tweet from @BenABaker that pointed to a collaboration of 13 companies from Eastern Kentucky working together to solve the region's technical challenges. You've heard of Silicon Valley...now introducing Silicon Hollow. Go Silicon Hollow!!
 

Posted via email from Mark's Musings

Posterous - from Pipe to Post Point

Originally, I was using Posterous as an entry point for blog and social media posts. Posterous enables you to have a single point of entry to various blogs and social media outlets via e-mail or the web.
 
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.

Posted via email from Mark's Musings

Tuesday, June 22, 2010

Linchpin Quadrants of Discernment

Recently I finished Seth Godin's book Linchpin. Along with many good sections, there is a discussion on an effective combination of passion and discernment. Here, discernment is the ability to understand, in a nutshell, that things change and what area(s) are in the scope of one's influence and/or ability to affect the circumstance(s) . A discerning, passionate person, a.k.a. a Linchpin understands that things change and knows what she can effectively do in the midst of that change.
 
Looking at the diagram used in the book below, quotes explaining the quadrants follow (from Kindle Locations to 3061 to 3083).
 

 
In the bottom right is the fundamentalist zealot. He is attached to the world as he sees it....Change is a threat. Curiosity is a threat. Competition is a threat. As a result, it's difficult for him to see the world as it is, because he insists on the world being the way he imagines it. At the same time, he has huge reservoirs of effort to invest in maintaining his worldview. Fundamentalist zealots always manage to make the world smaller, poorer, and meaner. The RIAA's campaign to sue people for listening to music online is the work of a fundamentalist zealot.
 
The top left belongs to the Bureaucrat. He's certainly not attached to the outcome of events, and he definitely won't be exerting any additional effort, regardless. The bureaucrat is a passionless rules follower, indifferent to external events and gliding through the day. The clerk at the post office and the exhausted VP at General Motors are both bureaucrats.
 
The bottom left is the corner for the Whiner. The whiner has no passion, but is extremely attached to the worldview he's brought into. Living life in fear of change, the whiner can't muster the effort to make things better, but is extremely focused on wishing that things stay as they are. I'd put most people in the newspaper industry in this corner.
 
And that leaves the top right, the quadrant of the Linchpin. The linchpin is enlightened enough to see the world as it is, to understand that this angry customer is not about me, that this change, in government policy is not a personal attack, that this job is not guaranteed for life. At the same time, the linchpin brings passion to the job. She knows from experience that the right effort in the right place can change the outcome, and she reserves her effort for doing just that.

Posted via email from Mark's Musings

Wednesday, June 16, 2010

The future of IT: Data Centralization, everything else...Decentralized

Interesting article by Kishore Swaminathan, Chief Scientist at Accenture, IT 2015. In short, decentralized hardware and data access with centralized data.
 

Posted via email from Mark's Musings

Monday, June 14, 2010

Who Are You (on Twitter that is)?

Within a retweet by @prblog from @EmpowerMM that provided a link to various social media graphics. One in particular caught my eye that categorizes twitter users. Based on these categorizations, who do you follow? Do you tolerate the "smore" and/or follow the "maven?"
 
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?

Posted via email from Mark's Musings

Friday, June 11, 2010

Text Data Mining/Visualization - Did I really say it that much!?!

Was poking around looking at text data-collection and analysis tools since a lot of our data is not in standard database or data file formats but in text. I ran across Wordle, an on-line text mining / analytic tool that generates "word clouds" from text . The clouds give greater visual prominence to words that appear more frequently in the source text. To create your own word cloud simply copy and paste your text into the tool or point your website/blog to Wordle via the same tool and it will formulate the word cloud.
 
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!
 

Posted via email from Mark's Musings

Thursday, June 10, 2010

Imitation over Innovation?

Browsed to Google's search page and thought I was looking at a Bing screen for a few seconds. Google is, at least for now, showing a large background image as Bing as been doing since its onset.

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?!?!

Posted via email from Mark's Musings

Wednesday, June 09, 2010

What Should You Be Measuring?

Dan Ariely, Professor of Behavioral Economics at Duke University wrote an interesting column entitled, You Are What You Measure. He states:
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

After getting my replacement hard drive for my Dell desk top I compromised between the need for a Windows Operating System and the desire to mainly use Ubuntu by setting up the system to dual boot to Ubuntu by default and Windows XP implicitly.

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!

Posted via email from Mark's Musings

Friday, May 28, 2010

To Ubuntu or not to?....now that is a good question!

Last weekend my desktop hard drive went kaput. So instead of using my laptop until I got the disk rordered, received, and replaced, I literally dug out my old desktop from the garage. After blowing off the dust I hooked it up, and then installed the new distribution of Ubuntu Linux, 10.04 (also know as Lucid Lynx).

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).

 
 
The only issue is, some of my applications that I need to run (QuickBooks) require Windows (and no I don't want to use QuickBooks in the Cloud, yet anyway). All is not lost as Ubuntu comes loaded with VirtualBox, a virtual machine that can be used to run Windows XP from which I can install QuickBooks, etc.
 
I just got the new hard drive via UPS and have it installed. Go with Ubuntu with a VirtualBox of Windows XP? Go with Windows XP? Thoughts? What would you do?

Posted via email from Mark's Musings

Thursday, May 27, 2010

OK, I think I have posting to Posterous with Markdown down

Here is a message with Java syntax highlighting on Posterous.
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 is defined as "the faculty or phenomenon of finding valuable or agreeable things not sought for." In other words a serendipitous event is when you find something good that you were not expecting. But how do we do this with ideas and solutions to problems? One may think the answer is to randomly scour books and journals in the hopes of discovering new and helpful information. While this is valuable, I am finding that the most valuable information comes directly from people and not just the literary works they produce.

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:

Take a walk outside myself
In some exotic land
Greet a passing stranger
Feel the strength in his hand
Feel the world expand.


Feel your world expand indeed!

Posted via email from Mark's Musings

Wednesday, May 26, 2010

Exponential (or Collective) Minuteness = Big Outcomes

Last Friday, May 21, 2010, got a tweet from @justinrains informing his followers that Google search page had a small version of Pacman that you could play. Of course, I browsed to the popular search page and began playing that classic game. The beauty now was that no quarters required! I spent about two minutes playing and then moved on with my day.

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:

About 200 million CAPTCHAs are solved by humans around the world every day. In each case, roughly ten seconds of human time are being spent. Individually, that's not a lot of time, but in aggregate these little puzzles consume more than 150,000 hours of work each day. What if we could make positive use of this human effort? reCAPTCHA does exactly that by channeling the effort spent solving CAPTCHAs online into "reading" books.

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?

Posted via email from Mark's Musings

Early location-based, social media..."Breaker 1 - 9, how about that south bound Kenworth at the 151 mile marker, ...."

This last weekend we traveled into south-central Ohio for a family gathering. On the way, I noted a truck driver talking on a mobile phone. I commented to my wife that the days of the CB Radio (those who are in the forties and older know something about CB Radios) are more than likely declining. She stated that while drivers will communicate via mobile devices, the CB is probably the tool of choice to gather and share local information and socialize. After I considered it I realized that as usual, she was correct.

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

Clive Thompson looks at why we should understand how to read and draw proper conclusions from data.

Thompson states:

Statistics is hard. But that’s not just an issue of individual understanding; it’s also becoming one of the nation’s biggest political problems. We live in a world where the thorniest policy issues increasingly boil down to arguments over what the data mean. If you don’t understand statistics, you don’t know what’s going on — and you can’t tell when you’re being lied to.

One thing for certain, the "don't bother me with the facts" attitude will not work here.

Consider the economy: Is it improving or not? That’s a statistical question....Or take the raging debate over childhood vaccination, where well-intentioned parents have drawn disastrous conclusions from anecdotal information....There are oodles of other examples of how our inability to grasp statistics — and the mother of it all, probability — makes us believe stupid things. Gamblers think their number is more likely to come up this time because it didn’t come up last time. Political polls are touted by the media even when their samples are laughably skewed.

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.

Posted via email from Mark's Musings

"Betterness" does not just happen.

In this post, Umair Haque looks at eight ways to begin "betterness" in your life: Invest, Allocate, Cut, Work, Live, Civilize, Support, and Reflect. To summarize, the post informs the reader that to have a generally better life, one must not simply "settle" but get up and get busy on making a difference for both themselves and others.
None of this is easy. And no, it won't magically create a paradise overnight, or possibly ever. These aren't the only paths to betterness, or even the best ones. This is just a blog post. Here's the point. It is only by accepting the hard truth of personal responsibility for yesterday that each of us can begin to create a better tomorrow.

Related to this post, I am currently reading Linchpin by Seth Godin that drives a similar message. More on this book later.