Thursday, November 6, 2008

Experimenting....

Recently purchased 'thomaskahnoski.net'. The grand plan is to set myself up with a solid personal site and then make some business cards... Timeline for that was supposed to be about two weeks but alas, no such love. I have been trying to play around with sites.google.com to host it, but all in all it's not a very pleasant experience. It's ok for creating a dead simple intranet, but customization is a set of limited set of fonts and colors + widgets.

I guess I am just too much of a techie and would love to tinker with all sorts of CSS, HTML, and JavaScript. Which presents a problem for a white label intranet intended for the non-technical user. On the other hand, it's free and paying for a traditional web host just isn't worth it for me.

I found myself going to an Android Dev Camp, less for being interesting in Android itself (although it is interesting...) but more for checking out this local Dallas company called Big in Japan which does some really interesting things in entrepreneurial itch land. Which is really where the whole "I need business cards" decision came about. Stupid 'ole me forgot the currency of networking is business cards.

I am just shy of 4 months from the 2 year mark at my current company so it's about time to start thinking about career again, do some networking, figure out what options I have.

Thursday, October 2, 2008

Nitpicking

I like both candidates, I hate both candidates. The economy is a confusing mess. Supply and demand topics learned in high school don't really explain any of what is truly going on. The following is more of me collecting my current thoughts in the final stretch before the election.

Obama:
I'm always suspicious of the white knight, to much charm not enough about what he's done. I also don't like the "I'm not Bush" platform. That's what got us Gee-dubbya in the first place. He's mostly promises "no new taxes for the middle class". If only there was a tax on saying crap about raising taxes. However, the man is smart. Graduated Harvard, taught constitutional law in Chicago. I respect that.

McCain:
I dig the Maverick thing. Historically McCain has been a non-standard Republican. I respect that. But he's doing anything he can do to win votes in this election. Search YouTube for 'McCain abortion' Roe v. Wade is not one of those things people change their minds on very much and they should have a damn good reason for it, but I guess becoming President is enough of a reason.

The Economy:
The finger blaming the subprime mortgage crisis wavers between the Clinton administrations pushes for increasing home ownership or Bush's push for deregulation. Honestly, if a predecessor fucks up, then it's the job of the successor to fix it, otherwise you don't take the job.

Candidates like to talk economics two ways: Taxing the rich decreases the number of jobs. Trickle down economics. More money in business owners hands, more money available for new jobs. Taxing the middle class, is robbing the middle man of enjoying a better life.

I am for trickle down economics. For me the 'Pursuit of Happiness' means making available education to learn skills, having jobs available to pursue, and being able to work for yourself. More business means more jobs, means more money in the system, more money for taxes.

Taxes:
What, when, and who you tax is a game of balance and some people just have a ridiculous amount of money. I also want that money to wind up somewhere important. Philanthropy is the free markets way of distributing that money, but it doesn't guarantee education, jobs, or the ability of an individual or group to raise funds to work for themselves.

Deregulation and tax breaks did nothing to stop the current crisis, so quite frankly, I am willing to check out some alternatives. I didn't realize it until tonight but I was thinking about the quote "The fundamentals of the economy are strong". McCain has explained he is referring to the average U.S. worker and our ability to innovate.

Home ownership is one of the most common and largest wealth building tools to John Every Man. If this is what is causing the current crisis, then McCain is missing something about the fundamentals of the economy.

The Debates, the campaigns, and the flying circus of the press:
The debates are annoying, I crave them because sometimes a candidate will talk about something reminiscent of a plan, but the majority fo the talk is "We're going to tax so and so" followed by "You approved X billion dollars for this useless thing". And then it goes back and forth clarifying and correcting each other.

Can someone do some fact check on the content of these and put them side by side? Isn't that what a debate is really about? Comparing the merits and downfalls of one idea or plan to another? Instead there is the salvo of 'he voted, she voted'. Certainly it's important to understand what sort of choices a person has made in the past and whether this leadership applies to their plan for leading this country, but often the latter gets left off.

VPs:
Vice Presidents should be an after thought when it comes to who to vote for, Presidential succession is a rare occurrence, voting based on VP smells to much like fear mongering to me. However, they do give a reflection of the types of choices a candidate are going to make when it comes to choosing co-workers (i.e. the cabinet). Palin is an obvious grab for the evangelical vote. If McCain wins and is up for re-election, will he make more dramatic decisions like this? That bothers me.

Monday, September 22, 2008

Humor Me

I often hear people rag on the Daily Show quite often, but the fact of the matter is behind all of the silliness there is a giant pile of truth which the big news networks are threatened by. Watch any news channel for 30 minutes and see if you get any idea about what actually happened, whose involved, and what their motivations actually are.

It's just a constant stream of headlines, about 30 seconds of talking to an on site reporter, and then onto the next one. Quite frankly it's all replaceable by RSS feeds or a 30 minute commentary by a bunch of comedians. So what if this is the only place people get their news, there is as much content in the humor filled commentary as there is in the streaming headlines.

I don't really care what the political pundits have to say, they almost all have their allegiances and try to put their spin on it. So quite frankly, I'll take my spin with a dash of humor.

Anyways, below is part of the interview that inspired this post. Questions I have always wanted asked are getting asked, and actual answers came out of a political leader's mouth.



At about minute 3 is when the real conversation starts. At minute 8 there is a true gem and we hear quite possibly the most straight forward debate regarding the 'War on Terror' I have ever heard on television. And you know what, it actually makes sense. No bull shit, no talking points, no fear mongering, no liberal bias, just an actual conversation.

It's a glimmer of hope to see an actual political conversation instead of cover-your-ass press conference.

Saturday, June 21, 2008

Status Quo

Biologically we are driven to survive. In humanities birth, it was a question of strength and endurance as this correlated directly to person's ability to provide. As society built itself up, social status and purpose became the dominant metric.

We gain status by being noticed. The people we talk to, the people we say "Hi" to in the hallway, the friends we have intimate conversations with. This blog. Before the information revolution, it was the newspapers, television, movies, and word of mouth which got you noticed outside of your personal network. The higher the status, the more precious the power to keep it current. There are quite a few good thoughts to explore with government press, paparazzi and the control of this information, but let's get back to our favorite topic.

Although the Internet has made it easier for us to extend our personal network, the latest innovation has been on the maintenance of our local network. For the time being, the focus is on keeping our connections up to date. No information is more precious than that which is current, current information allows us to make the best possible decisions. Knowing information about the people in our personal network allows us to gain better status with those people.

The 'social graph', the record of everybody's personal network, is well on its way to saturation. Now everyone is scrambling to find out what's next and how to leverage this new repository of information. Those of us who are part of the social graph have seen the torrent of applications trying to capitalize on the social graph.

Many companies have made a business filling out the finer grain details of information that the current networks don't cover. Ranging from entirely new social graphs to personality quizzes to whether you support Pirates or Ninjas. It's low hanging fruit, but there is a ton of money tapping into this market if you can generate a useful or entertaining fad.

Other companies are attempting to put a twist on the social graph. Micro-blogging and location based networks, are trying to provide the next step on providing current status information. Between all the small tidbits of information being collected by the low hanging fruit and an increased ability of keeping current, the social graph will become one of the most important sources of information the world will ever have.

By maintaining a history of our personal network, we create an outline of our lives, almost a self-writing biography. Entire lives on record. The applications are both terrifying and exciting. It becomes possible to mine the social graph for insights into human nature well beyond our current capabilities.

Mining the social graph will revolutionize our understanding of ourselves as a society and eventually, alter our metric for survivability. As Google revolutionized the world by mining the information network, the next big thing will be the company that can mine the social graph for useful information.

Saturday, May 31, 2008

Internet Theory

Internet: an electronic communications network that connects computer networks and organizational computer facilities around the world (webster.com)

All that binds the Internet together is communication protocols.

So what are we communicating?
Communication: the imparting or interchange of thoughts, opinions, or information by speech, writing, or signs. (dictionary.com)

So... everything. How is everything organized? That's quite an impossible question. Everyone seems to have their own particular views on the world, and it's also a moving target. So how is it we are supposed to organize our communications over the Internet if the state of the information is in constant flux?

We approximate using keywords, semantics, and behavioral models mapping some input set of information to some output set of information.

Why do we do this? So we can find the information we need, or find the places information needs to go.

In the early stages of the Web, keyword was it we extracted surface data from the input and surface data from the output. Behavioral models focused on improving what was known about a particular set of inputs and was a huge step forward because it made computers slightly smarter than the person. Even better it's a model that gets better with use and is capable of self-correction provided the inputs don't change radically. Eventually these techniques were applied to improve the analyzed output data as well (see PageRank from Google).

This works most of the time. However, it often crops up when trying to deal with ambiguous or uncommon inputs. The answer to this is supposedly to apply semantics to both the input and the output set. This makes sense as we are trying to detect the deeper meaning of what is provided.

What doesn't make sense is that we are imposing an artificially created sense of meaning. This becomes very obvious when looking at slang terminology or even regional dialects. Technically we could encode all of those dialects into our semantic model, but to what purpose? They are going to continuously change no matter what.

With semantic technology we teach the computer how to relate various chunks of text to one another. This is where semantics changes what is the Internet. Before we were simply communicating documents, emails, web pages, etc... With semantics, we can communicate meaning. We can communicate what it is about a particular document, web page, or email that has useful information to the end user without actually ever showing the the original source of information.

Rather than input and output, we have a network of information related by it's meaning rather than a set of information mapped into an organizational scheme by some model.

Of course, if creating semantics on the computer were easy it would have already been done....

Tuesday, April 15, 2008

High Standards

I've been putting a lot of thought lately into what attributes my ideal company would have. The more I think about it, the less I actually care what the products are and more about what the internal processes and opportunities are.

I stumbled upon a blog which I have absolutely fallen in love with. The author is in the middle of writing several books on the level of Fred Brooks. I read the first couple chapters of Art of Ware 2.0 and it's a pretty good read so far. I think I may print out a copy of it out at work tomorrow (104 pages it may be wiser to go to a Kinkos... it's work related right?).

Anyways, there was an excellent post on what it would be like to use the sports industry hiring process as a means for hiring developers. Ideas such as contract-to-hire (probation) have seen great success in the industry but surprisingly haven't seen widespread adoption. A lot of good lessons can be learned from the analogy and it shook a few thoughts loose from my head.

One thing that jumped at me right away in the analogy to recruiting was the idea of 'the Bench'. As many sports experts will point out, having a deep bench is key to succeeding long term. This is a no brainer, the more talent you have on your team the more likely you are to succeed, but we need to dig a little deeper into the analogy to extract some more applicable lessons.

The difference between a 'Bench' and a 'Starter' player typically is the amount of raw productivity you get from a team member. Ideally we have a team filled with extremely talented individuals working on the next big thing and we have the Bench maintaining what has already been built. This accomplishes the task of having the Bench to learn by example from Starters. As great as that sounds, it is extremely important to change the line up.
  • A good Bench player won't stick around if you don't give him any play time. Simply put a developer will either get bored and leave or, equally bad, their skills will get worse or become out of date.
  • If a star player never sits on the Bench, you run the risk of turning them into a prima donna. Either the star developer will start demanding more than their worth, thus infringing on the bench or they will leave. Neither is good for the company.
  • Bad or new Bench players will never become starters if they are never given the opportunity to learn directly from your best and brightest.
  • If you never intermix starters and bench players, you have divided yourself into two teams which are both competing for resources and recognition within the company. (R&D vs. Support) This leads to more pointing fingers that creates overhead instead of accomplishing tasks in line with the company goals (unless your goal is to create overhead?).
Ideally team members are rotated quite often. Form a new team of developers every time a product is launched or a major release is made. Team changes in mid-development are almost always a bad idea. The only time I can see this ever really being a good idea is if the product is failing and needs a dramatic change in direction. As long as communication lines stay open in a company, teams should form themselves as employees recognize each other's interests, strengths, and weaknesses as well as the resources and efforts required for success.

As long as teams continue to reform, lines of communication will stay blurred and bureaucracy should remain only where it is absolutely necessary. This is incredibly important for long term success.


Communicate, Communicate, Communicate. That should be the primary goal of any organization. My new favorite question to ask employees at company's has just become, 'What avenues of communication exist within your company to a. share knowledge, b. get feedback, and c. find help?'

Thursday, April 3, 2008

No Silver Bullets

Living in "Entrepreneurial itch land" it is very easy to forget this very important principle of software. It's a constant search for new innovative ideas to revolutionize, not necessarily the world, but some part of people's lives. It's really a never ending search simply because every aspect of life can be innovated and that is what keeps me up at night.

So enough of the 'piphy', back down to the practical. Some time ago I decided that my current company could be something amazing if it implemented some measure of 'dabble time'. Recently known as Google's 20%. I have since changed my mind after reading some blogs from others with some truly insightful opinions.

First let me get this out of the way, Google was not the first to do anything like this. Check out 3M and W.L. Gore which have been doing this stuff for decades.

These are the reasons I came up with for why 20% time would solve my companies problems as well as some of the counter points I knew the idea would encounter:
  • Directly fosters innovation
    • The Good: Builds out the product portfolio. Increases existing product quality.
    • The Bad: Your spending 20% more on payroll than you should. You're spending less effort on the core product.
  • Directly increases employee satisfaction
    • The Up: Increases employee retention, Increases quality of new employees, Increases employee productivity
    • The Down: Is there a down side to happier employees?
  • Gets employees interested in each other's work
    • ++: Builds employee communication, Build projects understanding (synergy?)
    • --: Employees spend more time chit chatting and brainstorming than actually working. Employees focus more on new products than the core product.
To sum up, 20% time increases strategic diversity while increasing employee satisfaction and the downside is that you're distracting attention from the core product. This is great for larger businesses (100+ employees), but extremely bad for the tiny businesses (<30).

One extremely crucial thing that makes 20% work so well is that it is peer review process. When there are 30 people in a company you probably still know everyone and have various opinions about their work etc... This makes it possible for one charismatic person to single handedly change the focus of the company. This isn't 20% time, you've simply found a better goal for the company. Splitting mind share at the early stages of a company simply hurts your chances of actually succeeding. You simply can't afford any dead weight.

The idea behind 20% time is not to replace the core product, but to either enhance it or compliment it with another product. This means you should probably have enough clients to actually give a damn about what new and interesting things you're doing, otherwise you fall into the trap of creating solutions in search of a problem. Nothing hurts employee morale more than having dead weight at a company. It is definitely not good for client relations as competitive product X doesn't come with a price 20% time price tag.

So when is the time to start pulling the 20%? The short answer is, when it makes sense (in a business way). When you can start losing business to start-ups, when there are obvious products that can compliment yours, when you get big enough to have to worry about strategic diversity, and most importantly when employees spend more time complaining about a product than building one.

So why is 20% time not a good idea for my company? We certainly need innovation, and we most certainly need to increase employee retention, almost every company does. But we simply don't have enough employees, we have stretched our resources so thin that we are failing to keep up with our existing products. Our solution doesn't lie in new products, it's in cutting out the old.

I'll save that rant for another day. In the mean time, a few links on 20% time:

Monday, March 24, 2008

Visibility

It has become a well known fact that companies and recruiter will search Google, Facebook, LinkedIn, and even Friendster for information about you online. (Or you could use the one-stop stalking search engines like www.pipl.com) It is simply assumed that with any level of technical competence there comes a level of technical presence and if you want to get involved with the Internet Tubes Google better find more than what college you went too.

There have been a ton of discussions about not putting to much information about yourself online for either fears of Identity Theft to embarrassing drunk photos of yourself online, but what people don't realize is that there is some serious leeway here. Certainly you shouldn't be advertising your SSN or bank accounts and you certainly don't want any picture of yourself doing illegal drugs, but you're not exactly running for the Senate either.

If someone has taken the time to scour the Internet for your name then you've already got them hooked. If you want to impress someone, get your name in the first couple of results. Not only that, make sure there's something relevant or interesting for them to find, even if it is just a rehash of your resume it's at least something that can either 1. confirm the information that got them interested in you or 2. something that gives a little bit more information about a detail that caught their attention.


It's not just people that need visibility, but companies as well. What's the point of having an awesome product if no one knows about? What's the point of having an awesome staff if no one knows about it? What's the point of being a company at all if no one knows about it? So in lies a second truth, not only do you need to make sure you can be found, you need to position yourself to be seen.

Nothing frustrates me more than trying to figure out what the heck a company is doing. It's one thing if you don't want to blurt out critical information to your competition, but if you want to snag good employees and prevent the best and brightest from going to the competition than you better give the viewers of your site some solid content to sink their teeth into.
  • Give a sense of personality. Put the CEO and VPs on the website so we can get to know who runs the company. People don't need to know what you're future plans are if you've got a stellar CEO or a VP with some legendary ideas.
  • Show the value add. If you're website doesn't distinguish yourself from the competition than forget it. If the technology your competitive advantage is built on is that short lived you better have either a patent or some serious marketing skills.
  • Give several forms of contact. Always, always, always have an email, phone number, and mailing address. Bonus points for detailing the best ways to do so. Nothing irks me more than trying to figure out whether is located in an area I want to live. Make sure this is real easy to find so they get the message that 'We want to talk to you'.
  • Update the site regularly. Gain users respect by showing them how much blood, sweat, and tears you're putting into this product. If product B has surpassed expectations bring it front and center. Start a company blog, even if it does contain basic press release information, it's much easier for users to circulate a url than it is a pdf. Respect your users by giving them information on updates or new features as soon as their available via some sort of RSS or email subscription. (Preferably the former as users can peruse it when they want versus it falling away in their inbox)
  • Good Design is an Art. Don't kid yourself, if you have more than 30 employees, you can afford contract someone who studies this stuff to build the website for you in under a few short months. Unless of course part of you're value add is part of this design in that case you should already have some capable hands on full time.
With that you give everyone from industry conferences to family friends something to get excited about. I mean seriously, you know how sick I am of saying "I'm a Software Engineer" and that's it?

Friday, February 8, 2008

Overreaching

I don't know when this happened, but I am now an over achiever.
...
Apparently I've been one for quite some time, but I just realized it today. All I do with my time is think about work, work related things, or things that are work that I'd rather be doing than the current work. Where's the fun? Where's the video game addiction? Where's the drunken partying?

Apparently they've all been replaced by what I call the 'Entrepreneurial Itch'. I don't know why I didn't see it coming sooner, I mean I've always been brimming with ideas, but now I'm actually figuring out how to do them... That is some scary territory right there, the stress of figuring out if it's going to work, what happens if it fails... I am now surrounded by what ifs yet I completely ignore them.

Put simply, I love the fearless pursuit of ideas. I almost feel like a spectator in my life because of the crazy suspense I experience waiting for what might possibly be next. I need to salt my optimism with a healthy dose of skepticism or I could wind up getting completely ahead of myself. Not that I'm not already, but a little patience in learning and thinking about what I need to do to get things done will carry me a lot further.

I think that's what has changed in the past few months; I'm getting better at learning patiently
and not recklessly all at once or just diving in. Now I just need a time machine to learn how to do that some 20 some years earlier.

Of course if I could invent a time machine to do that, wouldn't that change my past and thus potentially alter whether or not I invent a time machine? (Now if only I could learn how not to ask so many impossible to answer hypothetical questions)

Monday, January 28, 2008

Searching Between the Lines

So despite pretending to be busy, I still seem to have time to reflect on life, love, work, and all the rest. I guess a part of me is always going to be stuck in my own head doing that...

So today I finally got Semantic Search. Not that I didn't understand its usefulness before, but today I actually had a value add experience on Amazon (technically their behavioral search, but they use behaviors to build a semantic model). Went looking for a particular soundtrack and sure enough I found an even better CD by the same artists thanks to some serious product synergy between the usual amazon store and it's music store. Sure I could have dug around eventually, and I did afterwards, but the first recommendation was precisely what I wanted.

Maybe music and movies are a particular easy thing to model, but so far search has only been textual extraction and some clever natural language tricks. Maybe I'm just a dreamer who one day hopes to live the sci-fi dream of just talking to a computer to extract information. However, given the nature of a lot of web innovation, it would appear that it will be more like "Computer, find me an entertaining YouTube video." (Absolutely awesome iPhone/party application no?)

Meta search may have been a joke in the past, but the fact is niche search (if it ever gets to he level of music taste matching) is going to flourish with semantic web stuff and nobody likes having to check more than the One search engine (antiphrasis?) for their information. Suddenly we're back to NLP, only this time not about information retrieval, but disambiguation and query classification.

Wednesday, January 23, 2008

Is being busy progress?

I actually planned out two months of my life and so far things are going pretty well. Never mind the fact that I have absolutely nothing planned after Mar. 1st nor do I plan to, but I've somehow started to become a 'busy' person. Not to say I am any more productive, but I am definitely doing things. Heck I even got around to finding myself a new apartment.

However, the apartment is probably the one thing I actually went a little cheap on. Not to say it's not nice, but it's simply not as expensive. I'm in the red for this month. A new suit, plane tickets, combined with the usual spending and a new found taste for nicer (pricier) clothes can rack up quite the bill. Not that I don't have plenty but I barely broke even last month, and I'm definitely going to be in the red because of vacation coming up in February. (Costa Rica here I come, woot woot)

My `rents are also coming by right before my vacation too. I'll be in the new apartment then and should have enough room for them, but 100 sq. ft. less is a drop I don't think I've quite wrapped my head around. They fly in on a Wednesday night, and my original plan was to work Thursday, take Friday off, and then also have Saturday to take off with them. However, I have to fly out Saturday now (due to the seemingly random airline ticket prices) and hence need to burn another vacation day. Poof goes my vacation.

This of course wouldn't be a problem except that my post-vacation self is supposed to be exploring job opportunities and makes any fly-outs a little more difficult to manage.... Yes that. Come February 17th(technically Feb 16th ~ 10pm) I'll have spent an entire year in Dallas. All the BS that's going on in my current company aside, it's just smart for a 'young professional' to check out what opportunities are available.

So switching topics....
I've started reading again (yay). Non-fiction (collective boo). I'm apparently one of those people who can't turn off the work part of their brain as my current read is "The Future of Management". Ordered it on a whim from a suggestion by one of the usual blogs I read. It reminds me a lot of the books I read in my last semester of college such as "The Mythical Man Month" and "Crossing the Chasm". It contains many 'common-sense' yet zen like quotes that are one thing to be read but another to be followed.

The premise of this book is that in a world where change is an ever-accelerating force, companies can only survive if they develop the ability to adapt and innovate. The biggest barriers to adaptability and innovation being management. And so the book is all about how management practices need to change.

A few gems: (Yes I've been taking notes)
  • "I dream of companies that actually deserve the passion and creativity of the folks who work there and naturally elicit the very best that people have to give."
  • "Expecting [large organizations] to be strategically nimble, restlessly innovative, or highly engaging places to work--or anything else than merely efficient--is like expecting a dog to do the tango."
  • "Toyota's success is based on a wholly different set of principles--about the capabilities of its employees and the responsibilities of its leaders."
  • "[U.S. car makers] have paid dearly for a management system that was rooted in intellectual feudalism."
  • "In most companies, managers are selected, trained, and rewarded for their capacity to deliver more of the same, more efficiently."
  • "I once heard former U.S. Secretary of State George Schultz draw a distinction between 'problems you can solve' and 'problems you can only work at'."
  • " .. to build an adaptable company, mangers need to worry less about weeding out low-probability ideas and more about building a diverse portfolio of non-incremental strategic options."
  • "'You're either creative or you're not' Now if this were true, art institutes, design schools, and architectural programs wouldn't exist and courses in creative writing would be pointless."
  • ".. if you wring out all the slack out of a company, you'll wring out all the innovation as well."
  • "As human beings, we are amazingly adaptable and creative, yet most of us work for companies that are not."
Only a third of the way through and I'm already itching to revolutionize my work place (hah).