Sunday, December 22, 2013

Heads-up: Geeky Travel-Log Coming ...

TheHackerCIO spent the whole day touring Silicon Valley, on Saturday.

He started collecting the photos and materials to blog about it, but it turns out he was as thoroughly spent as the day was.

And tomorrow, he heads back to Silicon Beach.

So, the gentle reader will have to wait for a few days to get the full report.

But it will definitely be worth the wait!

This is the "1 day tour" you've been waiting for.

I Remain,


Saturday, December 21, 2013

Silicon Valley Silicon

Pictured here is a historic bit of Silicon from Silicon Valley.

Now, for the full story ...

TheHackerCIO is done with Cassandra training. Done meeting with clients.  Now it's time for fun!

For example,  spending the afternoon walking around Stanford. There is little better place for a long walk than a University Campus. I've walked them all over the US and Europe: Prestigious and not, picturesque and ugly, techie and Liberal-artsy. I've strolled through Dartmouth, Brown, Harvard, MIT, Princeton, U Penn., UCLA, USC, Cal State Northridge, CalTech, Santa Monica City College, the whole constellation of colleges found in both Oxford and Cambridge, the Sorbonne. I never made a complete list. But that would be fun. Someday.

It wasn't an ideal time to tour the campus: most everything was closed; it's close to Christmas. But I got a good sense of the layout. The Packard building right next to the Hewlett building. That was a nice touch.

Stanford has a symbiotic relationship with Silicon Valley.  It's the intellectual core of the valley. Many startups came from Stanford graduates, such as Google's Sergey Brin and Larry Page, who were grad students when they developed "BackRub," a new approach to web-page search ranking. David Filo of Yahoo did his masters work at Stanford. Stanford has close ties to entrepreneurial business.

The Hwang Engineering Center has a first edition of Donald Knuth's famous The Art of Computer Programming. And this, pictured above was supposed to be the first ethernet board used to make the historic first ARPA-net transmission from UCLA to Stanford Research Institute.  For the managers reading this, that amounts to the first internet transmission! Or maybe it was the first Ethernet board, invented by nearby Xerox PARC place. It depends on which student you talk to. Maybe it doesn't matter.  Who knows if the "accidents of preservation" resulted in the actual first board being kept for posterity! The amazing part is how central to every aspect of technology development Silicon Valley has been: from making computer intercommunication possible (Xerox's ethernet card), to making the first internet communication, to creating the mouse, and window-GUI -- everything seems to flow out of the valley.

And that makes me happy to be in this place, as ...


Thursday, December 19, 2013

The Joy of Failure

Of bitter failure and TheHackerCIO, I sing, O Muse.

Anyone read the Illiad's opening lines?

Today, TheHackerCIO experienced failure. A lot of it. Yesterday evening, I deliberately tried something "off script" from my class instruction on  Cassandra. I've been attempting to recover ever since. I've been behind the class all of today, desperately attempting to catch up. Desperately attempting to repair my Cassandra cluster.

But I'm not that unhappy about it.

As "The Villain's Lab" today puts it:
I would rather have problems thrown at me, and iterate through a million choices to find the “right one for right now” than have all the right answers the first time.
Actually, to be honest, I would rather have all the right answers the first time, but that isn't realistic. And I know that I'm going to learn more, learn faster, and get more insight into production problems and issues by breaking things and then attempting to fix them.

So, while I only got to Lab #10 so far, out of 16; if that's all the further I get, yet I played with rebuilding my cluster and debugging a data consistency problem, I got a much deeper understanding from the tutorial than what comes from merely following the script, cutting and pasting in the commands, and grabbing a cup of coffee.

Not that I would have minded a nice cuppa ...

But I encourage you, O fellow technologists: type in the commands when you're doing tutorials -- build your muscle memory. Don't rely on cut-and-paste, what will that give you? When you don't understand why it's done one way and you think it should be done another, don't miss that opportunity! Try it! You'll break it, and you may spend the rest of the day recovering, but you'll learn. And the chance to learn is irreplaceable.


P.S. At 4:30pm, my instructor gave a "final exam", in which he said not to use the script, because "If you use the script, you're a cheater. You learn by suffering." Apparently he's learned the Joy of Failure as well as TheHackerCIO!


I Remain,

TheHackerCIO in Silicon Valley

I Am The Audience

"Who do you write the blog for," Someone asked me today. The answer is simple, yet incredibly liberating. Plus, it's an answer everyone should copy. I write the blog for my own personal consumption.

I am the audience.

If anyone else enjoys it, that's gravy. It's all part of "my work, done my way." But this comes from something deeper and more fundamental. Let's start over with that, and progress forward. It's about:
  • "My thought, done my way."
and then:
  • "My work, done my way."
and then, naturally, the consequence is:
  • "My writing, done my way."

If you think about it, there really isn't a reasonable alternative. You can't think someone else's thoughts. You are the only one doing your work. And the same goes for your writing. Anything else is absurd. Like trying to digest the meal someone else ate. It just "ain't gonna work." So why try?

I've written before about the liberating power of not caring. When you don't care about the consequences of speaking the truth, it lifts a great weight from your spirit!

But this is not the advice I was given in college. Nor is it found in the many books on writing. They tell you to carefully consider your audience. But when you use TheHackerCIO's approach, and your audience is your self, and if you know yourself, then it's never a problem to write for that audience! You will know what you like and what you don't.  And coupling that with not caring about the consequences means it doesn't matter if you lose audience from a particular opinion. I write for myself and for those who are going my same direction: to discover those of similar mind and values; to seek those who are --ultimately -- like myself! So I can't possibly fail. Even if only a handful follow my blog, I've discovered the segment I want as readers. And if no one reads it but me, it's the best of all possible audiences.

It's a most demanding audience, by the way. I have tough, rigorous standards.

Naturally, you have to count the cost of this policy. You may publish things that get you kicked out of Senior IT Executive Forums. Same thing with asking questions. If you don't consider the audience or care about consequences, you might be asked to leave some Meetup. Or even a job. But do you really want to be part of such a forum, meetup, or workplace, where you must gingerly consider everything you're going to say? Where you must concern yourself, not about reality, answers, and  truth; but about whether your question or level of understanding will offend someone? Again, do you want to put yourself in an environment where your state of knowledge must be hidden from others, as you pretend to have a knowledge you lack? If you do choose this, note that you have hindered yourself from ever attaining a better understanding! You can only do it on the sly, without revealing your actual state.

That's not a way I'd want to live.

And neither should you.

I Remain,


Wednesday, December 18, 2013

Introducing a DevOps Blog

A new blog about DevOps has just started! And it comes from a regular reader here. Find the first posting here.

TheHackerCIO cannot endorse everything he's going to say before he says it. But he knows from brief discussions with the author, Marc Mercer, that it's very promising. Marc gives every indication that he is basically in sync with TheHackerCIO's approach, thoughts, and values.

I hope he regularly posts about DevOps, especially if his first posting is an indicator. He starts where one ought to start, that is, at the beginning, at the very definition of DevOps.

It's amazing how helpful it is to know what you're talking about. :-)

A lot of managers should follow that policy.

Just Sayin',



Tuesday, December 17, 2013

When a Delete is a Write!

So Cassandra -- a No-Sql database -- has a few peculiarities that might take newbies by surprise. One of them is that deletion involves a write!

Before we take a brief look at that, do you know the story of Cassandra from Greek mythology? Cassandra was so beautiful that Apollo wanted to have carnal knowledge of her. She refused. Consequently, she was cursed by Apollo with prophesying the truth, yet with no-one believing it. Personally, TheHackerCIO knows how she felt. All the time I tell the truth, but it seems that very few actually believe it. It's enough to drive one crazy.

I wonder at this choice of mascot for the NoSql database which trades off consistency for availability per Brewer's Conjecture (A.K.A., "The CAP Theorem"). Is it that Cassandra will always return the truth, but we the DBAs won't believe it?

Well, leaving off the speculation, let's return to the peculiarity mentioned before: how can a delete be a write operation?

Remember, Cassandra uses an immutable data model. Data just continues to be written out to represent all changes. One consequence of this is that updates and inserts really are interchangeable. They call this the Cassandra "UpSert," because if you insert and a row with that primary key already exists, then it simply becomes an update. Conversely, if you update a row and the primary key involved doesn't exist, Cassandra will simply insert it. That is, either way, you will "UpSert" a row.

Another consequence of the immutable data model is that delete operations are really just "marking for deletion." We're all familiar with this from the file-system, but to have a database that does this adds a few wrinkles. For instance, you now have to deal with "compaction," where the deleted data element no longer remains within the working set of data elements.

So, for people from the relational database world -- and aren't we all -- you need to spend a little time wrapping your head around the world of NoSql in general, and Cassandra in particular.

As you do so,

I Remain,


Monday, December 16, 2013

The Unbearable Laziness of Outsourcers

Foreign outsourcers are a real PITA. TheHackerCIO now Unlinks from them as soon as they message him in a manner revealing their failure to read *anything* about me prior to hitting "send."

Their laziness seems to know no bounds.

For example, this came today:

On 12/16/13 1:59 AM, <<Name Deleted>> wrote:
Dear James,

Hope to pay your attention to some business opportunity.

I can assume that your compay needs from time to time some IT developement resources.

We offer to you our team as a base for your Ukrainian IT development center in order to develop some projects for you on demand or offer our developers as remote members of your development team.

One of our new proposal is <<Name Deleted>> system for logistic and transport (we offer specialistes with long experience and we can form full team under your request).

Moreover we can propose Billing systems development team:
<<URL Deleted>>
10year + of billing system development for Austria Telecom.

If an idea of co-operation could be interesting for you let's discuss all possible working models.

Hope to find some way of the mutually beneficial cooperation.

We are ready to earn trust incrementally.

<<Name Deleted>>

And here is TheHackerCIO's reply:


Hi <<Name Deleted>>:

You could have "earned my trust," by reading my LinkeIn profile where you would have immediately seen this: 

ATTENTION RECRUITERS, OUTSOURCERS, & BUS. DEV. : Learn about my strongly held opinions BEFORE you Message me, by reading my blog, especially the FAQ at

In general, if you do some research about me & show some thought in your request, I'll LinkIn with you.

Please follow those directions, and particularly, read this entry:

Furthermore, I'm blogging about your appalling failure to follow these directions. Read it here:

Finally, I'm unlinking from you, and placing you on my internal "banned list," for "failure to do any research before messaging me." 

Thank You So Much,


Maybe they cant read!? But if so, then they ought not to try outsourcing.

I Remain,


Sunday, December 15, 2013

Have MacBookProRetina, Will Travel

Silicon Valley is where the heart is, for TheHackerCIO. And today, he's on the road heading up there!

Meetings with Clients ...

Training on Cassandra ...

And following the Geek Silicon Valley guidebook, to see as many Geeky points of interest as possible.

What could possibly be better?

I mean, learning new, cutting-edge, exciting technologies ...

Meeting important users and technologists ...

And touring the Mecca of Geekery.

That sounds like Nirvana.

And, it gives you a good indicator of topics coming up this next week, so stay tuned!

I Remain,


Saturday, December 14, 2013

Al Fresco Thought

Blogs of TheHackerCIO are done Al Fresco.

Painters -- and I'll seize this word-moment to recommend most highly Paul Graham's Hackers & Painters -- are both challenged and inspired by working on "Frescos," a medium that dries very quickly. Plaster is laid down first and immediately begins drying. Then the paint is applied to the plaster, so that the final product is a beautiful re-creation of some aspect of reality. But you gotta be quick. Otherwise the plaster will dry and you're screwed. I've put an example of a fresh, lively, Fresco of two girls at the lead of this posting.

A blog is a similar medium, in my opinion. It needs to be executed quickly, without over-thinking the topic of interest. It's almost like a core dump showing the current state of thinking about a particular aspect of technology. And if you're not quick enough, you're screwed.

And the great thing is you don't even need to know hexadecimal to read my blog!

Part of the reason why TheHackerCIO is so entertaining is that he works very rapidly, in an al fresco style, so that everything remains very fresh. No cliches here. No PC. But also, nothing is carefully, systematically thought out. It gets written quickly, another once over to ensure almost no typos, and out it goes to publication. That's my blog methodology.

For the carefully crafted, systematically worked out writing, you have to go to the essays.

But, as you know, those are still forthcoming .... and only subscribers will get access to them for the first year. After a year,  a selection of essays will become available on this link.

They will be awesome,  though!

I Remain,


Bum's Rush for TheHackerCIO!

TheHackerCIO got The Bum's Rush from the LACTO Forum, effective today. Some gentle readers may not know what the "bum's rush" is, because today they call them homeless and respect their alternative lifestyle. The bum's rush is when you get "forcefully and abruptly ejected."

It happened Wed, but took effect today, Friday.

I thought the call was to ask me to speak in 2014, but was I ever wrong! It turns out that it was notification that the "invitation-only" forum no longer required my presence.

I was and remain, "persona non grata."

I was excommunicated, so to speak.

But TheHackerCIO has been excommunicated from larger and better groups than this, such as the Universal Body of Christ, for asking the wrong kind of questions, but that's another story for another day.

Interestingly, the grounds given for my abrupt expulsion after years of attendance was the same as the other time. For asking the wrong kind of questions. Or dumb ones. It's not really clear. I was told that "my questions were not thought to be up to the level of the group," which translated into regular English, means "You ask dumb questions."

But TheHackerCIO is thrilled! To be accused of "asking dumb questions," is an honor extraordinaire. First of all, TheHackerCIO follows a principle he learned from his stepfather: the "I'm just a poor sharecroppers son" principle. This principle requires a separate blog-posting to deal with completely, but let's leave it at this: my stepfather, who was quite sophisticated, educated, and charming,  would always say this when he wanted an explanation that reduced complexity to a manageable, normal, everyday, ordinary, man-in-the-street level. Ideas should be explicable, even complex ideas, with sufficient clarity that even a poor, unsophisticated "sharecropper's son" can grasp them. And I am never embarrassed by any question I have asked in seeking this level of clarity. Neither now, nor in the past. Nor in the future.  A desire to understand should NEVER be a source of shame, for anyone.

Best-Selling business writer Patrick Lencioni understands this same principle. In his highly recommended book on consulting ("Getting Naked"), he calls for people to "Ask Dumb Questions" (p: 206-7), and notes this:
Think about the times you've been in a room and had a question that you thought might be too obvious to ask. And then someone else asks it, and you look a them with a sense of gratitude and respect. That's how clients see us, if we have the courage to ask.
Apparently, that's not how the LACTO forum members feel!

Or, possibly, the forum member have an ulterior motive for booting TheHackerCIO out. I'm turning speculative here, but bear with me.  I'm going to ask two questions:

1. How likely is it that an extremely intelligent, perceptive, funny, easy-going, educated specialist in technology for decades would really ask too many low-quality questions?

2. How likely is it that the beliefs of someone strongly opinionated about the need for CTOs to be able to write code would offend a forum of CTOs where this opinion was voiced and shock was registered that he was the only one present who coded daily? Is it likely that such a group would kick him out rather than have him continually blogging and speaking about the need to be a Hacker as well as a CTO? Or maybe even just out of spite toward him for such beliefs?

I'll leave the answer to this as an exercise for the reader.

As an aside, TheHackerCIO's wife, a woman of extraordinary wisdom, warned him about his blog. "You know, you're not going to make any friends by telling people the truth the way you do," she told me. Amusingly, she warned me a few days before the ax fell. But TheHackerCIO decided when he started blogging that he was going to tell his truth, his way regardless of the consequences.

Will TheHackerCIO miss the forum? Yes. It would be "sour grapes" -- a form of dishonesty -- to claim that the sessions won't be missed. But TheHackerCIO doesn't want to associate with technologists who don't code or are OK with it being "5 years since I looked at coding," as one participant said. Or, if they really think my questions are "not up to level," or that simple questions ought not to be asked, or even that they can kick someone out for asking basic questions and not have it poison others against asking basic questions,  then they are complete idiots, and again, I don't want to associate with them. And one session in particular, I always hated, and won't miss, was the quarterly bitch-and-moan Roundtable for everyone about "What keeps you up at night?" I got nothing out of hearing the same old rehash from everyone on a quarterly basis.

But I can tell you what ought to have been keeping them up at night.

They haven't coded in 5 years.

I Remain,


Friday, December 13, 2013

Hiring someone to do YOUR job

TheHackerCIO got pinged for a job. That happens all the time. But this one was puzzling. And the puzzle illustrates a principle that I live by. The J. Paul Getty principle. The principle has already been discussed, here (at point # 5) and is in the FAQ.

The J Paul Getty Principle is, in his shortest formulation:
"If you have a business, make sure that you’re the one who’s running it."
And I've explained before how this applies to outsourcing: you can't outsource technology to an external company if you're in a technology-defined business. It's your core business, so you have to be the one running it. QED.

But the principle has wider application.

And the puzzling email is a perfect example.

TheHackerCIO likes to do interviews from time to time. It's one technique he uses to stay current on technology -- but thats a topic for another day.

At one such interview, many months ago, he went for the position of "VP of Engineering" for a major, successful, revenue-positive, profit-positive!!! startup. Wow. A profitable startup that never needed to raise capital! Wow.

The immediate task was to assess the backend, and reengineer it. It's commonly required, as startups tend to put forth a system more tuned toward rapid-development than handling the scale-up load.

This startup, however made an enormous mistake. They "passed" on TheHackerCIO. It's only to be expected, I suppose, that from time to time he might not be chosen as "the one." But he was happy for the exchange and for what he learned from them, so he stayed in touch with their chief engineer -- an awesome developer he hopes to one day raid for his own boutique.

Now the plot has been developed so that you can see why the headhunter's email was so puzzling. The best way to see it is by reading TheHackerCIO's reply to said Headhunter, reproduced below minus the specific names, followed by the headhunter's reply:

========================================================================On 12/10/13 11:28 AM, James Rothering wrote:
Hi <<Headhunter Name>>:

I've already interviewed at <Company Name>>, actually. We discussed the VP Engineering role, but they decided to go with someone else. Too bad they missed out on the best, isn't it?

I don't think they'd be willing to pay CTO rates for an Architect, but thank you for asking.

By the way, have you checked out my technology blog?

And yes, I Am TheHackerCIO. 


There you have it. They hired someone who needs to hire someone to assess and re-engineer the middle/backend tier.

If you happen to know of anyone for this I would appreciate the referral. I think it is a critical role so hopefully they will pay what they need to. If I can find someone.

I haven't read it yet but will today.

<Headhunter Signature Name>>
========================================================================So, as you can see, this "VP of Engineering" needs to have an engineer who can do his job of assessing and re-engineering the server! Wow! That's a fireable offense in my book. If he isn't up to the job, he needs to fire himself and get a replacement into the works. Ex post haste. Headhunter is right that this is a "critical" role. So critical it can't be done by anyone other than the one specifically hired to do it. So naturally, TheHackerCIO pinged his contact, the chief engineer mentioned before, to find out what the problem was and what kind of insanity was going on. The emails below, again with particulars expunged, show the interchange:========================================================================

On 12/11/13 09:46AM, James Rothering wrote:
Hi <<Name>>:

I just got "pinged" by a headhunter for an Architect who "can assess and reengineer the backend" for <<Company Name>>. I hate to say it, but why isn't your new VP Engineering capable of doing this? Sounds to me like he isn't much of an Engineer or CTO if he can't take the lead on assessing and reengineering the backend. 

Hope that all is otherwise well. By the way, did you like my blog? (



Hey James,

That's funny you got pinged again! 

I actually don't work at <<Company Name>> anymore, so I'm not necessarily privy to everything going on there!

But I do agree that <<CTO's Name>> ought to be leading the charge on the re-architecting. I don't know what the job description says, but last I heard, he was more looking for a lead Dev to execute on his directives. I suspect he's too busy trying to hire people and manage contractors for time to actually code. 

Your site is good - I have been checking it out here and there. Keep it up!


<<Signature Name>>
So, I don't know what's going on at this company. Perhaps the headhunter hasn't been properly told what is needed. But there's a better than even chance, based upon my dismal experience, that this is an accurate reflection of what is desired. The bottom line is:  If you need someone to re-engineer the system for you, then you are not an engineer, nor a VP of Engineering. If you're too busy to code, fire yourself, and hire someone competent. If you have a business, make sure that you’re the one who’s running it.And ...If you're a VP Engineering, make sure that you're the one engineering. I Remain,

Thursday, December 12, 2013

New tab on TheHackerCIO: Reviews

So far all the feedback on my blog has been positive. No one has told me they hate it. Nor even that they disagree with it.

I put up a page to track reviews and feedback here.

If readers want to send me more full reviews, I will post those as well.

So consider this a "call to reviewers"!

Hey, I'll put up a negative review as well, if any such can be found.

I Remain,


Wednesday, December 11, 2013

Treating Employees Like Adults

I had lunch with a colleague and friend Ilya Pozin, who never sleeps, and one of many fascinating things we discussed was the answer to a GeekyBookClub question/discussion about vacation time.

The GeekyBookClub (actually, it's not called that, it's named the LAJUG Study Group, but how pedestrian is that?) ... well, as I was saying, the book club was discussing a new practice where no fixed/definite vacation time is given by the employer.

Instead, the employee is free to take whatever time He wishes (yes "he," that's for Brian Cantrell, the Pronoun Prick at Joyent, the Pronoun Fascists, where this is a firing offense. I'm feeling edgy and daring here as I defy their PC conventions!).

The discussion in our club took a rather negative view of this. Based upon a lot of Dilbertian experience, the members feared that this amounted to less or no vacation time, for fear of the consequences. And one member pointed out that they also re-evaluated your "contribution to the team" each year, so that your salary might get "adjusted," based upon your vacation time requests! This was not thought to be desirable.

Not at all.

Does anyone wonder why?

Or are you all living in Dilbertian comic strips, as I suspect?

But my colleague said that they way it worked in his company -- Ciplex -- was that everyone had commitments for revenue production. If they wanted to take time, anything desired was fine, so long as someone was covering for them. Or, for example, someone might say "I'm going to Hawaii next week -- but I'll make sure this projects gets done." So, basically, it amounts to -- as Ilya put it -- "treating the employees like adults, rather than children."

Novel idea, that.

Sounds like a  pretty good policy to me.

I Remain,


Tuesday, December 10, 2013

Everyone a Hacker

TheHackerCIO has been too busy, so he missed out announcing this on Monday.

This week is Computer Science Education Week. As part of it, everyone -- are you listening, recruiters, marketers, and business development specialists? --  is encouraged to spend an hour learning to code.   Details about the Computer Science Education Week are here.

And the actual video lesson for the "Hour of Code" is here, courtesy of Khan Academy.

And with Everyone a Hacker,

I Remain,


Sunday, December 8, 2013

TheHackerCIO's Top Professional Values

What are TheHackerCIOs Top Professional Values? 

Making a list of your values is a fantastic way to focus your mind and follow the adage of the Delphic Oracle: "know thyself." With the new year approaching, and with a lot of potential business partners needing this information, I've put together this brief first "essay," or "attempt." These are not ordered. The numbering is purely for separation.

1. Learning new technologies has to be at the top of the list. There is absolutely nothing more fascinating than figuring out how to use new technologies in the spirit with which they have been created --  to deliver more efficient, faster, better, and more innovative solutions. Part of the reason why Codojo was brought into existence was to foster the kind of environment where people who loved to learn could come together, collegially, and work together. The Geeky Book Club I attend is full of people who feel this way as well. And that's the kind of people I enjoy spending time with!

2. Having fun through work: life is too short to hate what you do for a living! I've never understood the mentality that says "just give me a paycheck." Why would you want to spend the majority of your day, "just getting a paycheck?" I think this is what Steve Jobs meant when he said, "don't settle":
"You've got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don't settle."
I haven't yet watched this film about Jiro Ono -- but several people have pointed me to it as an interesting parallel to my ideas about loving your work. And this article quotes him from the documentary:
"Once you decide on your occupation," says Jiro, "you must immerse yourself in your work. You have to fall in love with your work. Never complain about your job. You must dedicate your life to mastering your skill. That's the secret of success and is the key to being regarded honorably."
I think that the notion of striving to fall in love with your work is something that needs a lot further exploration in our culture.

3. Achieving values in work: what's the point of pointless work? Why would anyone want to work on something they thought pointless, silly, needless, or improper, when they could work on something important, useful, helpful, and wonderful. That's the kind of work I look for. And that's the attitude toward work I look for in colleagues.

4. Brutal honesty & full transparency: this is where "the edge" comes forth. It's been said, that TheHackerCIO "has an edge," which I've remarked on before. I'm not one for evading the truth. It never helps. Full honesty is really the only way. And it makes everything so much better. And I hesitate to use the term "transparency," since the politicians have recently ruined it. But that's an important concept too. Far to important to let scum like politicians ruin.

5. The J. Paul Getty Principle: Being in charge of your business. This rules outsourcing out-of-bounds. You can read the other FAQ answers for further details, but this is one of the principles that makes it impossible for me to work with outsourcers. To quote J. Paul Getty, from How to Be Rich:
"If you have a business, make sure that you’re the one who’s running it."
And he explains why:
"A businessman must run his own business. He cannot expect his employees to think or do as well as he can. If they could, they would not be his employees."
You can't outsource your core business concern. And my core business concern is technology. Ergo, I can't work with offshore technology outsourcers. It's really pretty simple.

6. Work with people who also love what they do. And not with Pointy Haired Bosses. Because Dilbert isn't just a cartoon. It's an unfortunate and hideous reality for far too many.

7. Work with integrity, so that you are proud of what you produce. Not "just doing what you're told", but actually doing a good thing, something that works really well, something that, consequently, people want to use, and consequently, that you are proud you produced. TheHackerCIO wants to go home at night -- perhaps tired -- but proud of the code he crafted, happy with the technology solution he designed.

I'm sure there are more, but this is a good start. I'll add others as they come up.

I Remain,


Saturday, December 7, 2013

A Promise to Reveal The Secret Recipe for Dealing With Assholes

Stay tuned closely to TheHackerCIO, because in a week or so, I will reveal the secret recipe for dealing with assholes.

The series on Dealing With Assholes came from ThePronounPrick Company: Joyent.

And in conjunction with the PronounPricks, TheHackerCIO has been dealing with an Asshole in his own inimitable way all week.

As a teaser, always remember that everyone in a company already knows the a-hole within.

I Remain,


Friday, December 6, 2013

Assholes Revisited

Recently, Joyent, the Node.js corporate side chose to make a public fool of themselves by being assholes about a pronoun. It would be funny if it weren't so perverse, but these paragons of "tolerance" and "empathy" would have no problem instantaneously firing someone for using grammar correctly.

As TheHackerCIO mentioned before, the old-fashioned Grammar pedants were a bit silly, but at least they wouldn't fire someone for a grammatical lapse. The Political Correctness crowd is an order of magnitude meaner, less tolerant, and lacking in empathy.

Naturally, they put this "empathetic firing" forth while linking to  this slideshare, about "Dealing With Assholes." [note: the actual site is called "Assholes are killing your project, but the link in Joyent's blog is called "dealing with assholes."]

I took some time to view the slideshare, because I just had a run in at a client with a major asshole, and so I'm thinking about them quite a bit. I was quite amused to read this slide:
What is an Asshole? Two Tests 
1. After talking to the asshole, does the target feel oppressed, humiliated, de-energized, or belittled?
2. Does the asshole target those less powerful?
I'm pretty sure that  Ben Noodhuis -- the unfortunate, correct grammarian,  would have felt oppressed, humiliated, de-energized, and/or belittled if he had been under the power of UnJoyent and had been summarily fired just before Christmas for grammatically correct use of pronouns. Furthermore, AssholeJoyent.js were indeed targeting those less powerful -- specifically, anyone who works for them.

Then there was this slide:

Word of mouth transforms one asshole into an avalanche
How do you fix it?
    personal interactions: have a conference
    provide expectations: Nobody knows your culture when they start. Do you want them to learn it from an asshole? Provide a code of conduct.
Again FascistJoyent did NOT have a personal, private conference, did they? Instead they published publicly in order to brag about how fascist they were about pronouns. In other words, they skipped the word-of-mouth, and moved straight on to the avalanche. And I wonder if they could provide us with a copy of their code-of-conduct, with proof that it existed prior to their blog-posting, where they specified that use of gendered pronouns was an instantaneous firing offense.

As to my own wisdom about assholes, I'll have to talk more about that another day.

In the Meantime, I Remain,


Thursday, December 5, 2013

Alice in NoSql Land

In the Alice-in-Wonderland of NoSql databases, unavailable means available!

The CAP Theorem, a.k.a. Brewer's Conjecture, holds basically that you can pick any two of "C", "A", or "P", where these stand for:

  • Consistency
  • Availability
  • Partition Tolerance
Consistency is the familiar "C" of relational database's ACID property of transactions. They must be:
  • Atomic
  • Consistent
  • Isolated
  • Durable
In the distributed world, and specifically in the NoSql world, consistency is traded off for availability. Many NoSql databases are never brought down for any kind of maintenance window! But this comes at a cost: the cost of "eventual consistency." 

In many applications, consistency isn't all that crucial. For example, if you've got a social network type of application, does it really matter if the number of "likes" is inconsistent? I've actually seen this fluctuate in real time, and who knows or even cares whether the "likes" are actually being toggled by some user, or this is simply an artifact of the node-cluster getting the consistency propagated throughout. 

But there are many "gotchas" with this new paradigm, and the "availability" meaning is perhaps the most troubling. TheHackerCIO hates it when people create a technical term that is diametrically opposed to common or popular usage, but this is a case where we are stuck with it, and there is nothing to do about it, except to note it carefully.

"Availability" in the CAP theorem is not your ordinary availability!

You might assume that a Server being up and functioning is available, but such is NOT the case. 

In the CAP-theorem, if you can talk to a node in the cluster, it can read and write data. 

So, if your cluster partitions -- say the European nodes get cut off from the North American nodes -- then one way to preserve "availability" would be for all nodes to stop talking to any clients! Then they would be "available," because "if you can talk to a node in the cluster (and you can't), it can read and write data (which you don't want to happen until the partitioning event resolves)." 

I'm not making this up. Here is a quotation from Martin Fowler's NoSql Distilled:
"However, this would mean that if a partition ever occurs in the cluster, all the nodes in the cluster would go down so that no client can talk to a node. By the usual definition of 'available,' this would mean a lack of availability, but this is where CAP's special usage of 'availability' gets confusing. CAP defines 'availability' to mean 'every request received by a non failing node in the system must result in a response.' [Lynch and Gilbert] So a failed, unresponsive node doesn't infer a lack of CAP availability."
So be careful with your "availability."

I Remain,


Wednesday, December 4, 2013

Fire 'em All!

Joyent will fire you for grammatical incorrectness. They blogged about it here. To insist on principle that pronouns have a gender is an instantaneous, walk-you-out-the-door, firing offense!

And it isn't just Node.js who wishes they could fire for this, but also the employer of the unfortunate offender, who in a much more cowardly fashion said here, that they would fire him, but didn't mean that literally. Except they did. I'll let another commentator describe it:

Quoting Isaac Roth:
If Ben can’t learn, we’ll fire him. [Edit: See comment below. This is not meant literally.]
Huh? How in the world that cannot be literal? You have created a poisonous environment with your coworkers/employees, where they can be held at gunpoint and be told "or you learn, or I'll fire", where learning means agreeing with your point of view, whether is correct or not. If you think you are a leader you are dead wrong.
Your extreme "political correctness" is nothing more than a fascist regime.

TheHackerCIO thought that old-fashioned Grammar-Nazis were a bit over the top, but this newer breed of Politically-Correct-Grammar-Nazis make them look like plush dolls.  Moreover, this is claimed to derive from "empathy!"

If this be empathy, then I call for eliminating it from the workplace.

It's a "zero tolerance policy."

I Remain,


Tuesday, December 3, 2013


TheHackerCIO is ever on the hunt for efficiencies. Now he's putting together a FAQ, so you can quickly refer to it before contacting him.

It's so much better to get to know someone before LinkIn with them. This will allow recruiters and outsourcers to read my strongly held opinions before they send me their LinkedIn requests.

Check it out here.

The LinkedIn spam is really getting thick these days.

I Remain,


Friday, November 29, 2013

Clojure HackerWear

Hackers need HackerWear. TheHackerCIO (pictured above) has got to be close to the first person wearing one of these. As soon as the announcement came down, I placed my order. It came today. Long live Clojure!

You can get yours here.

I Remain,


Book Recommendation: Hackers & Painters by Paul Graham

Last Tuesday, the Geeky Book Club didn't meet. The night was "off," owing to the Holidays. So, in lieu of Cucumber, I thought I would take today's space to recommend one of the best "techie" reads to be had.

I speak of "Hackers & Painters," by Paul Graham.

Notice that I didn't say I would review it. I'm just recommending it. It's the best technology read around, and if you haven't, you need to get a copy and start reading it ex post haste.

If you want to get a taste, you can read most of the contents online here.

Tuesday, November 26, 2013

Oh Goody, a Laboratory! A Laboratory!

A veritable technology cornucopia is coming!

TheHackerCIO was lucky enough to field a call from one of his respected colleagues today, who wants to make a server and infrastructure laboratory available for new product evaluations!

What Geek doesn't want to have Rackspace, Routers, & Servers!

Now if that isn't something to Give Thanks For, then I don't know what is!

Lots of exciting possibilities here: he's going to make it available to our Technology Radar Group, of which he is a founding member. He's going to work with me on making the equipment available to some other researchers -- specifically so we can more properly assess and investigate the consistency properties of some of the new, NoSql database products.

So, stay tuned for details.

And, if you're in the Silicon Beach area, check out his Meetup at:

I Remain, Thankfully,


The Ben Bernanke Scam Morphs Nigerian

So obviously TheHackerCIO has to tighten up his easy-going LinkedIn policy, so that he keeps his Network hygiene up.

We had some fun a few days ago with the Linked-In request purporting to be from Ben Bernanke.

The post was also a means of crowd-sourcing a determination of the scam.

But that isn't necessary.

I got a reply message from good old Ben:

Did you authorize One Lawrence R. Larson who presented document of claim purported to have been signed by you for the release of your payment to him? Could you please drop your direct line so that I call you for more details.


And in scams, as in most things, Google is your friend, so a quick check on Lawrence R. Lawson reveals the tired old Nigerian funds scam:

And, by the way, I'm mysteriously Unlinked from my newly accepted buddy.

Sorry that no-one gets to collect the credit for decoding the scam, but the reminder that scam and spam are everywhere, even in LinkedIn, is salutary for all of us.

Here is the text of my final communication with this despicable scam spammer:

Attention you despicable Fraud Meister:

If you send me any further communications at all, I will pursue every federal agency that exists to see that you receive the full punishment of the law for whatever scam you are pursuing.

You don't even have the imagination to use a different name from the Nigerian scam (Lawrence R. Larson). I will be forwarding all these details and following it up with yahoo, your email provider, as well as LinkedIn.

If I receive any spam at all on this account (which so far has received none), I will know it came from you and will pursue every legal avenue to see you receive full legal punishment.

Now go away, and forget my email address, you scum-bag.

I Remain,


Monday, November 25, 2013

An Open Letter To Headhunters About "Big-4 Opportunities"

TheHackerCIO received this via LinkedIn last week:

I think you are uniquely qualified for a Senior <techo-detail-deleted> Architect position I'm looking to fill for a Big 4 firm. Total compensation will exceed $<compensation-deleted>, depending on experience. Would you like to see the complete job description? I have worked with this Big 4 firm for 7 years and can set up a call for you with the hiring manager in less than 48 hours. If you have any interest, kindly email your resume to me (send directly to <>, as attachments will not come through via LinkedIn) at your earliest convenience. 
If you would rather refer someone (with similar qualifications), I can get you a substantial referral fee. 
Thanks. I look forward to hearing from you. 
This kind of query always leaves him conflicted.

So what better way to address the conflict, but to explore it in full detail in writing, and not only share the issues with my blog-followers, but also have a link to send to this and all future such requests? TheHackerCIO always seeks greater efficiencies! That's what makes him an executive, but that is a topic for another day.

First, the conflict: I'm an intelligent, highly ambitious, highly competent,  technology executive. The kind of compensation mentioned is definitely interesting; it sounds like they are seriously looking, since they will turn-it-around in 48 hours; and the recruiter has a direct, as well as long-term relationship with the hiring manager. But the problem is, this is a Big-4 firm.

The Big-4 firms are Accounting-Audit firms, who by consequence of their proximity were able to provide technology consulting services to their clients. The enterprenerial opportunism is laudable and admirable. But there is a big problem. At their core, the Big-4 are not technology businesses. Technological excellence is not their core competency. Accounting, auditing, management, process, methodology: all of these things are their core competency.

That is the theoretical explanation that I have found for why every assignment I have had around such organizations has been a profoundly unsatisfying experience. The empirical evidence I have seen of these Consulting Groups has been uniformly bad. Ok, worse than bad.

But I can't say that this is universal: I haven't examined them exhaustively. I haven't performed a systematic study. I haven't determined with full irrevocable certainty that nothing good can come from them. But the missing core competence is an explanation that seems to explain the empirical results I have experienced. Let's break down some representative examples of specific things I don't like.

1. I don't like their hiring model. Of course it's great to see sharp, top college students. But not when I need a DBA. Not when I need a good Pythonista. The Big-4 model is built around "making partner," and recruiting the smartest and most ambitious College Graduates to work like slaves in the vain and 5-9s futile pursuit (99.999% futile, that is, for you recruiters reading this) of achieving the Holy Grail of Big-4 Consulting: Partnership. And, frankly, I don't like pushing people out when they fail to make a virtually impossible grade. That isn't the kind of environment I want to foster or even give sanction to as being proper.

2. I don't like their training. Don't get me wrong. I love it that they actually provide training! I wish more companies invested in employee development and training. But their training isn't in core technology. It's in "Method-One," or CMM, or ITIL  -- something relating to their methodology, or Process. The RotheringPrinciple, to the contrary holds that:
"Process can't automate success" -- James Rothering
I'm interested in achieving success. If that gets accomplished in a totally unstructured manner, as with Dr. Edwin Land "insisting on the impossible" at Polaroid, without schedules, reporting structure, or deliverables, I'd prefer that. I'd prefer working with an innovative genius who was difficult and demanding, and yet successful, than with a careful bureaucratic process that replaces success with paper-work production.

3. They prefer package solutions; I prefer custom work. It's the difference between putting up prefabricated  homes and getting a Frank Lloyd Wright house, like Fallingwater. There's nothing wrong with either, but the latter is beautiful, and what I want to do with my life.

4. I don't like their common practice of fielding truly gifted, top-notch technologists when they are in the initial phases of securing the contract, followed by a speedy "reassignment" elsewhere once everything is contractually agreed. I certainly don't want to be the bait for poor clients, only to be switched off to another rinse-and-repeat-cycle once the poor client's John Hancock is on the dotted line. I want a continuity with my clients. I want an honest and thoroughgoing relationship with them, throughout the duration of the entire contract. I want repeat business. That's the way I want to do my work, with pride.

5. More than a majority of the Big-4 contracts I have seen ended up in litigation with the clients. I have to tell you that I have in my entire career never seen a boutique engaged in any litigation with their clients. I'm counting right now at least 5 instances of such lawsuit surrounding cancellations at Big-8-6-5-4 firms. I don't want to work in a place that seems to regard their Legal Department as a Profit Center. Sorry, but that's just wrong.

These firms, originally were 8, then 6, and now 4. When they were bigger, the most representative example was Arthur Anderson Consulting. I worked around them at least 4 times and never witnessed a successful implementation. I helped two clients prepare their defense documentation for the impending lawsuits. I wasted nearly 6 months doing this kind of forensics to assist one client. I consider them the prime illustration of the ilk, and would never consider anything at their current re-incarnation of Accenture. They are the very antithesis of everything I want to do in my professional life. Unless, of course they have completely changed, as the Leopard might lose his spots.

I'm an open-minded guy. Perhaps Accenture, or one of the Big-4 has completely renounced these points I mentioned above and embraced becoming the best technology-defined consulting house in the world to rival ThoughtWorks and other specialized boutiques. But I kind of doubt it. I kind of think that rumors would have spread out in the tech world. And I generally hear rumors ...

The wonderful thing about full honesty and transparency is that you can state your observations and evaluations based upon them, and if you somehow missed something, you can still be open to learning something new. That's part of being an active learner. But that is, also, a topic for another posting.

So, dearest recruiters, if you would dare to show this posting to your client and he still wanted to talk to me, then please send me another message, and I'll email you a resume. Anyone open-minded enough to read this and still desirous of pursing me, ought to reasonably be in synch with the kind of values I want to bring about in my work.

For my work is holy.

And Thank You For Your Consideration,

But For Me and My People,

I Remain,


Sunday, November 24, 2013

The Cost of Costlessness

When setting up this blog, I used the supplied "Feedburner" subscription widget provided by Google.
This is a simple HMTL form component that allows a subscriber to get blog postings automatically in an email.

As it turns out, Google bought up Feedburner, and got rid of the staff and support. So the product as it stands, while it appears to work, has no support available. I attempted to find analytics about who subscribers were -- to no avail.

Finally, after scouring email list groups that had offered support in the past, it became apparent that another solution had to be found. So, as a previous blog posting noted, subscribers will no longer be getting any further email. The Feedburner was torn out and replaced by MailChimp.

I can't say enough good about MailChimp. But first, I will note that it's got at least one deficiency in comparison to Feedburner. Feedburner went out automatically. With MailChimp, TheHackerCIO has to send out a notice each time he posts.

But integrating all Social Media in a coordinated fashion is a much bigger nut to crack than mere blogging, so I put this down as a minor issue.

Mail Chimp is a Freemium model product that allows you to easily and simply create subscription lists, generate the "sign up" widget to plop in your HTML, then create a campaign, and finally track the response and analyze it. It's amazing. I'll post more when I see how it works.

For now, if you want to learn, you should sign up on the new and improved blog widget. Because by signing up there, I might send out a campaign to you which will not even hit this blog!!! Only the insiders, those luck few will get the inside scoop!

For instance, when I write some more extended essays ... which are already in the works ... these will be available to subscribers.

But on to higher level abstractions. The Cost of Costlessness.

Feedburner was costless. But that cost me support, didn't it? Costlessness isn't always cost-effective. I might even pay for premium services, but at least the potential to pay brings about some level of support.

It reminds me of some of the stories the old-timers tell. I always listen carefully to the old timers tell of their mainframe days and tape drives. I quiz them all I can. I even once used an emulator called Hercules, and did a full SysGen of an IBM Mainframe  MVS operating system, emulated, naturally, on my ThinkPad laptop.  Even though I'm generally a CTO, I love running with CIOs because of these stories. They are invaluable data points. They are a historical perspective on computer technology.

And one tale they always dwell on is that of the CA (Computer Associates), who gobbled up all the cool new products and fired off the support staff. They rendered them support-less commodity items. You could use them only so far, and then if you get stuck, you have to ditch it and build your own.

At least in the open source world, it seems much easier to rectify these problems. But Feedburner is a salutatory reminder that
"if you ain't payin', 
there ain't no number to call"

I Remain,


Friday, November 22, 2013

If You Were a Subscriber, You Ain't No More, No More, No More, No More ...

Like the song said.

The perils and pitfalls of blogging will soon be a topic, based upon the recent experiences of TheHackerCIO.

Stay tuned for details

For now, however, if you WERE a subscriber, and had entered your email address into the widget to get an email notification, that won't be coming anymore.

The fix is simple: RE-ENTER your email into the NEW widget now displayed with friendly lettering on the right hand side of the blog.

I'll explain the need for the change later, when I review my experience so far on the Google Blogger site: the good, the bad, and the ugly.

For Now I Remain,


LinkedIn Scam On the Radar

A little fun yesterday, as TheHackerCIO willingly took the bait from a scam-spam LinkedIn request purportedly from Ben S. Bernanke.

It was fun also to exercise the imagination and give a government official your "honest opinion" about his work.

But the real motivating reason for accepting this was simple.

It was to put me on the hook once again.

TheHackerCIO likes to know how things work. And this is a perfect opportunity to see how the reporting procedures actually work for reporting spam and scam. So that was started today, by opening a ticket with LinkedIn.

I'll fill you in on the details as I learn them.

I Remain,


Thursday, November 21, 2013

TheHackerCIO accepts Ben Bernanke (The Fed Chairman's) Linked-In Request

TheHackerCIO is a apparently a wildly interesting guy for the Fed Chairman. (Yes, TheHackerCIO can get scammed too, but plays along when it's fun. I'm using crowd-sourcing to find out what the scam is -- so credits go to the first one to figure it out)

Anyway, so a LinkedIn request came in to me a moment ago from Ben. I accepted him, naturally, and sent him a message to see how I can be of service. 

Here is my message text:

Hi Ben:

I really don't know how my services as at CTO/Java Architect/Developer can be of assistance or interest to you. I don't do much in the realm of economic policy.

In fact, I'm an Austrian, so I don't approve of even having a "Fed," not to mention the evil of pumping money into the economy and consequently creating economic dislocations that will have to be paid for years from now.

However, I am open to hear how I can be of interest to you as the 22nd connection you wish to make.

I highly suggest, if you wish to get acquainted with my thinking about technology, or management, that you read my lively and informative blog: at

And if you need any assistance in transitioning from your job into Java development, I can put you in touch with a number of colleagues.


James Rothering


JQuery Meetup & Unit Testing

Last night was a JQuery Meetup, hosted at Q. I decided to attend; I'm trying to push myself into the whole world of Javascript/JQuery. Which means, for a hard-core Java server guy, that I'm pushing myself out of my comfort zone.

That's always a good thing. TheHackerCIO believes in continuous pushing out of the comfort zone; pushing the edge-of-the-envelope.

The Transcript

I really like these Meetups, regardless of the underlying technology, because of the method of presentation. Natalie MacLees, who runs them enters her sample code and runs it all live. So any errors have to be resolved on the fly. This is amazing productive of insight. I love it. Last nights showed implementation of a slider.

The second interesting technique she uses is this: after the code works, she begins showing variants. For instance, you could have written this line in a shorter idiom, in this way. See the results! It's way cool. Last night she had at least three successively more condensed iterations.

The second presentation was on QUnit, a TDD testing framework for JS. I picked up one point about TDD worth reflecting on, since I don't do that many bug fixes these days, which was that prior to fixing a bug, you should write the test showing the code Red. Only then should you fix the bug and change state to Green. Thus you now have a regression test guarding against inadvertent reintroduction of the bug.

End Transcript

My own problems centered around getting jQuery installed on my follow-along PC. My sublime editor had to be reinstalled, then I had to get jQuery downloaded. So I fell behind in entering the code along with Natalie. But she promised to post a link to the code, which I will add here, when I see it.

I Remain,


Wednesday, November 20, 2013

geeky Cucumber

Our GeekyBookClub is the best! Last night was a perfect illustration. TheHackerCIO came in totally unprepared. Unread Chapters. No time to read them. Too much client Hacking this week. Plus the Bus. Dev for the coming year!

Some would be intimidated by going to a book club, especially where the reputation of the club members is so high. I've heard that this is a "Guru's group."

TheHackerCIO is intrepid. Guru's don't intimidate.  Plus, we completely lack Prima-Donnas in the group anyway!

So, we had a wonderful time. Earl, as always, had performed the reading with his usual highlighting of every relevant passage and lots of sticky tabs along the edge to locate them the faster. Thank Deity for the "Earls" of the world.

The way we structure our club, members "bid" the page number of their next comment or question. The lowest bid wins. It makes everything flow along smoothly. We also allow backtracking to pages covered in prior meetings.  Which means that next week, when I get caught up on the reading, I'll be able to revisit everything that I just got a nice conversational and high-level introduction to at last nights Meetup.

In Chapter 5 we noted with interest the principle that:

 DAMP (Descriptive and Meaningful Statements)  
trumps DRY (Don't Repeat Yourself), 
when writing examples, because readability is paramount.

Someone remarked about the "bug magnet" -- that they had heard of a chick-magnet, but not a bug magnet. There was a general consensus that chick-magnets were preferable.

One member is moving away from a proprietary CMS to Magnolia, which came top of list, for:

  •  working easily, 
  • runs locally, 
  • doesn’t have to be deployed on a dev environment.
Which puts it onto the radar for consideration, at least by me.

Our local Groovy bigot held forth about the wonders of that JVM language, in support of closures. He expressed his wonder and indignation at Java's implementation of lambda expressions versus the superior work in Groovy. TheHackerCIO needs to get more into Groovy to follow this, but for those geeks interested and not in-the-know, here is the difference between a Lambda and a Closure:

A Closure has access to the static variables.

That is to say:

1. a Closure:
Z = {a, b : (a+x * y +z)}

2. A Lambda is the same as above, but without access to the static x, y which are now out of scope.

Then they discussed "Gstring", which is apparently another Groovy idiom, and not a racy nightclub exhibit. It's some kind of a templating expression language that will fit into a string to replace items.

I asked for the best book/resource to learn Groovy, and was recommended this:

The Definitive Guide to Grails 2, by Greame Roche, which apparently covers Groovy in an appendix which should be read first. Going by what the reviewers say, anyway. 

Then we started discussing Clojure (yes, Clojure the functional language, not to be confused with closures, the functional programming idiom that, when called returns another function)

We talked a bit about how Clojure is so hard to follow/read, at least for us, mere mortals. I remarked about how nice it would be to work with the smart people who DO work in it, for instance the people at Factual. And we got this capper:

"Clojure is ok when the system is small enough to be retained entirely in the head. When it outgrows that, or a mere moral must deal with it, it collapses." A whole lot of wisdom is contained in that epigram.

And for that Wisdom I am Grateful to the GeekBookClub Members &

I Remain,