How to Succeed at Business Without Really Trying

I’ve been trying to figure out what success is, what it means to be successful and why people around me are either outwardly successful or self-deprecating in their success.

I should note, personally I’ve struggled with the idea of success. I grew up in a trailer park with parents that, while loving and caring and tentative to my needs, were not educated in a higher degree or what society might consider traditionally successful. Financials were (and continue to be) an issue for a large part of my family.

Myself? Well I’m doing OK. I went to college and met someone who makes me want more for myself. I found something I’m passionate about (the crossroads of people and technology) and am well-respected in my field.

From that angle, I could say I’m successful. Compared to others? Well, that’s a funny thing. I always feel like a dullard or slacker.

But success is measured in so many ways – far beyond the padding in your wallet or the comforts of your home.

As Joss Whedon put so eloquently in his commencement speech to his Alma Mater,

“I talk about this contradiction and this tension… There’s two things I want to say about it. One, it never goes away. And if you think that achieving something, if you think that solving something, if you think a career or a relationship will quiet that voice? It will not.

If you think happiness means total peace, you will never be happy. Peace comes from the acceptance of the part of you that can never be at peace. They will always be in conflict and if you accept that, everything gets a lot better!”

That voice inside me that Joss speaks about is definitely not quiet. Every day I struggle to understand what success and happiness are and to constantly pursue things that bring me both. I wish for both success and happiness to all whom I meet. I try to mentor and advise those close to me – not to be a know-it-all or a wise-ass –  to help in some small way to bring friends and family up.

Another intelligent and experienced person once said,

“The only time you should look in your neighbor’s bowl is to make sure that they have enough. You don’t look in your neighbor’s bowl to see if you have as much as them.”

That’s Louis C.K. It’s from his TV show in which he plays a fictionalized version of himself. He’s speaking to his daughter in the scene. It applies to anyone, regardless of age.

So what is success? I have come to think that it’s totally subjective and any canned or preconceived notions we have as young people should be thrown out the window. An individual could be the poorest schmuck on Earth, but in his story he’s happy and therefore the most successful bum that ever lived.

A person with a highfalutin title might be unhappy and unsatisfied with their career or do something they’re not passionate about.

Don’t judge people by their title or position. I’ve met some really smart managers and some really inane leaders. I’ve met first-response service folks who are aces.

That said, I do think there are things you can do to be more successful and happy. It’s not just luck or environment. It’s awareness and a desire to do better – to move toward success and happiness.

These things have worked for me, are subjective, and should be taken with a grain of salt.

—-

Be an Adult

Tuck your shirt in. Wear nice shoes. Learn about collar stays. Always wear a belt.

Not just dressing, act like one. Meet people in person instead of the phone or email for the first time if you can. Never yell, cuss or say something that is otherwise rude. Don’t say anything bad about your co-workers, boss, clients, or mailman in public spaces – especially the Internet.

Show Empathy

Everyone is the protagonist in their own story. Understand where they’re coming from and listen to what they have to say.

Don’t Abuse Meetings

Show up on time, be prepared and know how to set up the damn projector.

Put your devices down. Turn off the laptop. The email is not more important than this meeting (see below).
Stand up when someone enters the room and introduce yourself.

See Also:
http://www.lukew.com/ff/entry.asp?1741

Really Listen

When someone is talking listen. listening is not waiting for your turn to talk.

This is a huge help for appropriately understanding the work that is being asked of you. If you don’t listen, are impatient, and want to quickly jump to the end where you get out of the room so you can go build something you will be frustrated when the client asks, “What is this? I didn’t ask for this.”

See Also:
View at Medium.com

Turn of the @!*# Email

Email is not real-time. You don’t need to check it every five minutes. Turn it off on the evenings and weekends. Replying to emails at 3 in the morning is not a badge of honor. No one is going to pat your back for it.

Work to Live

Know what you should get paid. Talk about salaries with close friends. Understand what you’re getting into with a new company or position. Work a little more than what you’re paid. Show initiative. Offer to help others and when others ask, help where you can.

I’ve never worked more than 40 hours constantly at any job I’ve ever had. Am I lucky? Nope. I work hard, know my stuff, am constantly learning, and act like an adult.

—-

When I was in college I was at a party with some folks older than me, but in the same field I was hoping to soon join. Being young and stupid about how things work, I asked what sort of advice could they give me about the field. In my nascent mind I was expecting tips about using Photoshop better or best practices around workflow or industry trends.

Instead the best advice they gave me was don’t put in 60 hours to impress your boss. It’s not worth it professionally and defiantly not worth it personally.

I think that dovetails with success and happiness. It’s not just what you do for a living. It’s the things that you do with your time on this planet. It’s the stuff during your 9-5, the evenings at home, and the weekends with friends. It’s never just one of those things, it’s all of them in moderation and consistent drive to push them all forward. Work hard, meet new people, travel, and enjoy what you have.

MediaWiki Statistics and Panic’s Status Board

I’m a big fan of Panic Inc. I use Coda daily and am an advent follower of the smart dudes out of Portland.

They have a new app out called Status Board that allows you to mix different data sources to provide at-a-glance information on your iPad. What is even better is that it can output to a HD display for big screen status board updates.

At work I help manage a MediaWiki environment that we use to document stuff.1 Lately I’ve been trying to figure out how to leverage the MediaWiki API and the External Data Extension to manipulate data from external sources and content within the wiki.

With a few minutes time I figured out how display statistics from MediaWiki on a Status Board!

Basically I use the MediaWiki API to return some XML into a wiki page. That page is then in turn included as an HTML widget in Status Board. The result is something that looks like this:

mediawiki-status-board

Here’s the secret sauce. First create a wiki page to house your content. Then use the #get_web_data function of the External Data extension to pull in a xml feed from the MediaWiki API. Here’s what my code looks like for query of the number of jobs currently in queue.

{{#get_web_data:
url=http://yourwiki/wiki/api.php?action=query&meta=siteinfo&siprop=statistics&format=xml
|format=XML
|data=Jobs=jobs,Pages=pages
}}</pre></pre>
<div style="width: 100%; text-align: center;">42px;">Jobs in Queue</div>
<pre>

74px;">{{#external_value:Jobs}}
<pre>

Then in Status Board enter in the address for your wiki page using the &action=render2 attribute.

http://yourwiki/wiki/index.php?title=wikipagetitle&action=render

Some other examples, as you can see in the screenshot above, are a list of the N newest articles, most recent edits, or even additions to specific categories (at the bottom). The sky is the limit!

Creating a Navigable list of Property Values in Semantic MediaWiki

Update: I tweaked the code after posting this. It’s been updated to reflect my working solution!
One of the great things about Semantic MediaWiki (SMW) is the auto-generated fact box at the bottom of any wiki page that has any values for semantic properties.

Screen Shot 2013-05-01 at 10.25.12 AM

It’s also relatively easy to create a list of all defined values for a given property. In fact, this idea uses this template as a basis for what follows.

However, I found that it’s not very intuitive to navigate to a list of all values of a property and see what other articles have that same property value. In order to see a list of all articles that have a particular property value you’d have to navigate to an existing page with that property and then perform a semantic search from there. Or know that there’s a page called Special:SearchByProperty that you could use.

Screen Shot 2013-05-01 at 10.04.58 AM
Example of Special:SearchByProperty results

I wasn’t satisfied with that, so I made a fancy list that’s actually really easy to implement and can be used across an entire SMW for other property values too.

The result is a list of all values for a given property that provide hyperlinks to a list of all wiki articles with that property value. It uses the Special:SearchByProperty page for displaying results.

First, I created a template called Property Values Columns. You can use it like so:

{{Property Values Columns|<em>Name of Property Here</em>}}

Here’s the contents of the “Property Values Columns” template3:

<noinclude>Use this template to list all the unique values for a given property.

== Template code ==
</noinclude><includeonly>
*{{#arraymap:
{{#arraydefine: valued
|
{{#ask: [[{{{1|}}}::+]] | mainlabel =- | headers = hide |? {{{1|}}} | limit = 10000|searchlabel= }}
|,| print=list, sort=asc, unique}}
|,|@@|[[Special:SearchByProperty/{{Space|{{{1}}}/@@}}{{!}}@@]]|
<ul>
	<li>}}</li>
</ul>

</includeonly>

This is what it does.

1. Gets a comma separated list of property values for whatever property you’ve requested.
2. Parses the name of the property and each unique value to build a URL.
Example: http://wikiname.com/wiki/index.php/Special:SearchByProperty/Property Name/Property Value
3. The secret sauce is another template called ‘Space’ which uses the #replace function to replace all spaces ” ” with the “-20” syntax used in the Special:SearchByProperty query.
3a. The “Space” template contains the following:
{{#replace:{{{1}}}| |-20}}
4. Return the results as a series of list items.

The result is an list of all unique property values that when clicked will query the wiki for all pages containing that property value. You can then use some custom styling to format the results. In the example below I wrapped the template in a div creating two columns.4

<div class="twoColumns">{{Property Values Columns|Accounting Unit}}</div>

Screen Shot 2013-05-01 at 10.13.18 AM

Pretty cool huh?

Hierarchy in Properties Using Semantic Mediawiki #arraydefine and #arraymap Magic

At work, I’ve been working with our HR reps to develop something we’re calling Career Learning Maps.  The Learning Maps are a way of determining the various opportunities via career level (Positions such as Associate, Senior, Lead) and the skills required at each level. For each skill we’d have a list of suggested Learning Resources such as books, videos, seminars, etc. that assist in developing those skills.

For example, today you might be a Senior Database Engineer, but you’re looking to move up to Lead Database Engineer. What skills are required at this new level? Or what if you’re currently an Associate Technician, but want to move toward a Management position?

The Learning maps can help you understand the various job descriptions and associated attributes available to co-workers.

Since we already have Semantic Mediawiki as our knowledge repository for our department we decided to leverage its capabilities to deliver the Learning Maps.

One of the issues I was running into was figuring out a way to develop a hierarchical list of skills. Each skill is related to what we’re calling a Skill Dimension. Think of the dimension as parent groupings of skills. Business Acumen is a skill dimension that includes the skills of General Healthcare Industry KnowledgeProcess Improvement and Business Process Management among others.

I figured out a cool way to use #arraydefine and #arraymaptemplate to create a hierarchical list based upon properties. This list appears on each individual Job Description and shows the relationship between the career level, related skill dimensions (to that career level) and individual skills organized by skill dimension. Check this out:


Each job description is semantic form/template driven, as is each career skill dimension and career skill.

 

—-

Here’s the code – in case you might want to use it in the future.

In the Job Description Article Template (after building your form/template to include these properties!):

{{#arraydefine:levelsman|{{#arraymap:{{{Career_Level|}}}|,|@@|@@}}|,}}

(This defines an array using the specific job description’s career level.)

{{#arraymaptemplate:{{{Skill_Group|}}}|Career_Skills_Dimension_Template|,|
}}

(Ok, how many Skill Dimension apply to this job description? Give me a list and format it with a template.)

In a template called “Career_Dimension_Group_Template”

'''[[{{{1}}}]]'''<br>
{{#ask: [[Category:Career Skills]]
[[Skill Dimension::{{{1}}}]]
[[Career Level::{{#arrayprint:levelsman | }}]]
|link=none
|order=ASC
|format=ul
|default=No Skills Listed
|searchlabel=
}}

(Spit out a Skill Dimension, followed by an #ask that lists all relevant skills that are both part of that group and at the same level as this job description.).

The best part is that each property value is a page, so I can change “link=none” to “link=all” to have each skill in each group be a link to that individual skill’s article as well!

—-

To expand this even further, I’ve created a matrix listing all Skill Dimensions by Career Stream (Management, Professional, Technician) in a matrix with each Career Level. Co-workers can use this to easily see which skills are relevant across a given level or dimension.

While not very attractive, each cell in the matrix has a variation of the following #ask query.

{{#ask: [[Category:MTS Career Skills]]
[[MTS_Career_Level::Executive Director]]
[[MTS_Skill_Dimension::Strategic Focus (Management)]]
|link=all
|order=ASC
|format=ul
|default=
|searchlabel=
}}
The MTS_Career_Level and MTS_Skill_Dimension property values change for each cell.

—-

All together this creates a responsive and scalable solution to manage these relationships. Adding a new skill, resource or job description automatically updates all areas. In fact, most updating happens via forms and templates so our HR and Training folks can easily develop these resources with minimal Semantic Mediawiki development.

I hope this might be helpful for folks using Semantic Mediawiki to show relationships between properties in an interesting or unique way. Let me know if you have any questions or feedback.

Big Data, Mining, and (Musical) Recommendation Engines

As a side project in my free time I’m helping a small business setup an e-commerce store front. One of the things we’ve discussed is the idea of a recommendation engine to suggest other items to purchase. This lead down an Internet rabbit hole where I ended up reading about The Echo Nest.
The Echo Nest is a self-described “music intelligence platform that synthesizes billions of data points and transforms it into musical understanding.“. It is widely herald as one of the largest and most comprehensive uses of data mining (to find the language and culture around music across the web) and big data (to store and present those relationships) within the music recommendation industry.
Yes! There is an industry. A substantial one. Apple’s Genius feature in iTunes, Pandora, Last.fm, Spotify – all are trying to provide relevant music based upon your listening tastes. Why? So you’ll buy more music of course!
Brian Whitman, one of the co-founders of The Echo Nest, talks in great length about the how and why behind what makes their product so unique – and so incredibly accurate. I won’t steal the thunder of the article, but needless to say, dedication and refinement are key.
This is totally sausage-making, behind-the-scenes stuff, but I encourage you to at least look it over.
Ok, so now the really fun stuff. Here’s something called The Infinite Jukebox. It uses some of the data points within the Echo Nest to create a version of a given song that never ends. It uses references within a song that are similar to other points within the song, makes some minor adjustments when needed (like tempo) and then plays the song forever. The presentation is neat as well, you can view the branches within the song where things loop and even click around the song to find points where things can loop.

At work we’re looking at ways of using the topics of big data, mining, and recommendation engines to provide better healthcare. Reading about The Echo Nest gives me some ideas on how these technologies could impact the care we give! If you have your own ideas or suggestions, please leave a note below.