04.18.08

The Salination NBA Pro Machine

Posted in About Me, Sports at 1:00 pm by Todd

I have once again taken up running and I am almost to the point that I will call myself a runner – almost. For most of my friends, this is a huge change in my life – for 31 years I have hated running. I hated running more than I hated onions. The only time I enjoyed running was when there was some ball to chase after (i.e., basketball, soccer, or football). But I have changed and have started to enjoy my regular runs.

Anyway, I laughed when I read this article on the 10 types of runners. I fall somewhere in between the Salination Machine (#5) and the NBA Pro (#8).

But again, that assumes that I would call myself a runner – which I don’t … yet.

FYI, if you are interested in tracking my running take a look at my profile on FitLink.com. I am trying to keep all of my routes and results on there (you will also notice my other exercise activites like basketball and weight training).

04.14.08

Building My Personal Brand

Posted in About Me at 3:00 pm by Todd

Over the last couple of years I have been spending more time on sites that talk about marketing, sales, and branding (things I never learned about in my 2 degree programs). I started this because a group in our lab were discussing the possibility of starting our own company based upon our research. That dream has died for me but the reading continues. I am more and more interested in these topics because I want to develop into a well-rounded member of a development team (instead of “just a programmer”). And the idea of starting my own company is still of interest. So I have been reading articles, books, and blogs from guys like Seth Godin, Bruce Johnson, Jeffrey Gitomer, and Tom Asacker. I have also been reading about microISV from guys like Joel Spolsky, Eric Sink, and Bob Walsh.

With all that said, I decided that developing a personal brand would be a worthwhile way to spend my time. The following post will be a summary of my research into personal branding including: what it is, what I am going to do, and what I hope to get out of it. I conclude with a collection of sites that I used to develop my ideas and might be helpful if someone else wants to learn about it.

What is a personal brand?
My understanding is that a personal branding is the same process used to market goods but applied to people. In other words, personal branding is marketing yourself. Personal branding helps drive expectations and make you unique or special.

What am I going to do to develop my personal brand?
  • I am going to make a long-term commitment to developing my personal brand. If I expect it to mean anything, I must commit to it and not give up after a year or two. It will only be valuable if I am in it for the long-haul.
  • I am going use the first person in most, if not all, of my writing. According to Tim Carter, this will establish trust.
  • I am going to publish on my blog. I think that if I can post great content on a regular basis my personal brand will be off to a good start.
  • I am going to develop a logo to help distinguish my website and personal correspondence. This will probably require asking a friend or hiring someone since my design skills are not that good.
  • I am going get involved more in open source projects. More than likely this will involve bug reports and small fixes. But hopefully I can find a project where I can make a big impact.
  • I am going to start sharing my expertise and experience. For example, maybe I should take the time to post to forums devoted to Java. Or maybe I should try creating a lens on squidoo.

What I am not going to do when developing my personal brand?
I am not going to spend time with Search Engine Optimization (SEO). I will write original content and try hard to develop the brand but SEO seems like cheating (or gaming the metric).

What I have done already to develop my personal brand?
I have already started building my personal brand in the following ways.

  • I have purchased wallentine.com and wallentine.org domains. I would have purchased wallentine.net but it was already taken. And I will likely purchase others as my finances changes (and convince my wife it is necessary).
  • I have started a blog.
  • I have created profiles on several social networking sites (Facebook, LinkedIn, FitLink, and Community of Science).
  • I have contributed to an open-source project (Hibachi).

Why build a personal brand?
As Rajesh Setty says, “personal branding will deliver a premium.” Put another way, my personal brand can set me apart from others seeking the same opportunity as me (for example, a job or a client).

And if Anne Zelenka is correct, I might be able to skip resume writing and interviewing the next time I look for employment.

After a lot of reading about personal branding I have come to see that it is worth the time. And I hope that others will look into this as well to see if they believe the same thing. And most of all, I hope the investment in the personal brand pays off – I really hate writing resumes and love opportunities that just fall into my lap.

Here is a collection of related links that I used as research in personal branding:

04.11.08

Climbing Trees with Jess

Posted in People at 4:36 pm by Todd

jess-tree

A good friend of ours, Jessica Lea Johnson, is displaying her art starting today (April 11) and runs until June 1 (2008). It will be shown at Z’s Divine Espresso (1800 E. 23rd St., Lawrence, KS). So go take a look and enjoy – we believe she is very talented.

04.09.08

Correctness by Construction: Better Can Also Be Cheaper

Posted in Programming, SAnToS, Technology at 1:00 pm by Todd

I recently read “Correctness by Construction: Better Can Also Be Cheaper” by Peter Amey and found it very interesting. As I worked in the SAnToS Lab for the last couple of years, I have become convinced that correctness by construction can certainly save time and money. So it is nice to see a well thought out and supported argument that this methodology is good.

The author’s stated goal is to “prevent errors ever making it to test.” Quite a worthy goal and something that would save time and money in development. And our lab shares this goal as we develop our products (I say product very loosely since our software is more like academic research prototypes).

One of the best parts of the paper is the reference to “Cost Effective Approaches to Satisfy Safety-Critical Regulatory Requirements” that details the improvements that Lockheed Martin saw using this type of approach. They got 4-fold productivity gains (over previous comparable programs), 10-fold quality improvements (over industry norms), and the cost was half (in comparison to non-safety critical code). This provides real numbers to debate the correctness by construction approach.

While I like the fact that there was data used in this paper, I have trouble with the 10-fold quality improvement claim since it compares it to industry norms. That isn’t exactly an apples-to-apples comparison so it isn’t overwhelming evidence. Good data, just not enough for me to claim it is conclusive.

I also wondered about another statement from the paper. In the paper the author says “…time is spent in the integration and validation phases … We are spending most of our time at the most expensive point in the life cycle.” I wonder if other methodologies might offer alternative ways to deal with this problem. I was thinking the (relatively new) agile methodologies might reduce the cost of integration and validation since they will be done more often and throughout the process.

In the paper the author says “Worse, it is the point at which any delay will inevitably affect the overall program schedule.” I don’t like how this is stated since I believe that any delay will affect overall program schedule, not just those delays that happen during the integration and validation phases. I think it is true that they become more costly. I further think that delays during these phases are harder on the project simply because there is less available slippage time towards the end of the project. So I agree with the authors point (delays during integration and validation are tough on projects), just not the way it is stated.

In the paper the author says “Purpose-designed languages with formally defined semantics are a fascinating research topic but are unlikely ever to achieve the kind of critical mass required to make them suitable for widespread industrial use.” I was stunned by this statement and the paragraph used to support it. Keep in mind that my research group is working in this area (creating tools to make it easier to develop using domain-specific languages). I have a hard time quantifying “widespread industrial use” since SPARK and Ada are probably far from that in my mind (I would say C, C++, and Java are the ones I would name off the top of my head as being in widespread industrial use). The author also goes on to say “It also has several major flaws: you can neither buy a compiler for it, nor a textbook, nor get training, nor hire staff! This is a fundamental drawback of the custom language approach.” I can understand that a closed language that only has closed tools has those major flaws. But an open language (published syntax and semantics) means that anyone can develop tools for it. And an open source tool chain means that everyone can use, share, and extend it. So a custom language is not exactly what the author should dislike. He should dislike proprietary languages whose syntax, semantics, and tools are hidden. And on the other hand, the author should like open languages that have open tools.

In the paper the author says “So our first opportunity to explore the behavior of the software in any rigorous fashion occurs very late in the development cycle with malign consequences.” Maybe I don’t quite understand what the author is getting at but there seem to be many ways to explore behavior of software well before object code. For example, using the original Cadena, a developer could specify the internal behavior of a component using a state-machine. The behavior of the system could then be analyzed to explore the software well-before object code is written. And I assume there are many other tools in this area where modeling is done and some form of analysis is performed on the model. I am not that familiar with Alloy and Alcoa but that seems to be its purpose.

Even more, a development team could use a test-driven approach to development which allows them to explore the behavior from day 1 in the development cycle. Or even using symbolic execution (e.g., Kiasan or JPF) so that the whole of the system doesn’t need to be available, just the portion under analysis.

  • What is a safety-critical system? They define it in the following way: “Such systems are characterized by the proportionally very high overall effort that goes into showing that the system is fit for service: the V&V effort.”
  • What is MC/DC? I obviously didn’t pay enough attention in my software engineering classes. But this page was able to educate me on what it is.
  • What is a purpose-designed language? I couldn’t find a definition for this but there were several references to it when I searched Google. My assumption is that this is the same thing as a domain-specific language.
  • What does “thin-slice” mean? I couldn’t find a good definition of this but found a reference in a book titled “Service- and Component-based Development: Using Select Perspective and UML” by Hedley, et. al.
  • What is the “Newspeak” language? This is a reference to the book “1984″ written by George Orwell. It also appears to be a reference to a language quoted in a book about Alan Turing. The author uses a reference to this as a justification that custom-languages are not a viable approach to the stated problem.

Overall, I really enjoyed the paper. It states real issues in developing safety-critical systems and offers a solution. I just wish the author would have made a more compelling argument – if I didn’t already believe it, I might not have agreed with the paper.

04.08.08

Behind on my Blog

Posted in About Me at 1:00 pm by Todd

Wow, too many things going on in my life so blogging has taken a back seat. I am hoping to get back into it this week and provide some real content – not just the typical blogger apology.

But my real reason for posting is that I am hoping that by the end of next weekend I will have some real content up on todd.wallentine.com. I have been working on it in my free-time for the last month and feel like I am getting close. But don’t get your hopes up too much – the style will leave a lot to be desired. I am hoping to put up content first and then come back to give it a touch of style. And I hope to enlist some friends to help with that as well (Ben and Beth prepare yourselves!).

Anyway, I am excited to finally have a decent website that includes a great deal of my history. And I will be sure to post something here announcing the new site and soliciting feedback.

04.07.08

Two Alpha Psi Brothers in 1 Week

Posted in About Me, People at 3:20 pm by Todd

I had a busy week of catching up. I had two Theta Xi brothers (from the Alpha Psi chapter) in town last week. On Sunday (March 30), John Meyer was in town so Kari and I went out to eat with him (at Della Voce – yum!). And on Thursday (April 3), Brian Massey was in town so I took him out to eat.

It was a lot of fun catching up on all the latest news with my old brothers. But the best part was getting to know two great guys all over again. It had been quite some time since I had seen John – the last time I remember was in 1996. And it has been a couple of years since Brian had been in town.

I guess I am finding that the brotherhood is truly timeless. Even after all these years apart we are still close.