Tuesday Jan 19, 2010

Boston Tea Party Redux

I am so proud of the patriots in Massachusetts who have elected Scott Brown as a repudiation of the pile of crap our congress calls health care legislation. I would like to see a new party formed around a very simple two plank platform: 1. No representative would ever seek re-election. 2. Their only legislative agenda would be the repeal of all legislation of the last 100 years except for women's suffrage and the Voting Rights Act of 1964. What a world that would be: 1. No Federal Reserve - a central banking racket, robbing every citizen through inflation 2. No Social Security - it is a bankrupt failure 3. No Federal Income tax - it was ruled unconstitutional until made legal by the 16th Ammendement I'm sure I could fill pages with all the benefits of a 100 year roll back. With tonight's vote, I feel able to imagine an American spirit that is unleashed from forced wealth redistribution and the other horrible maladies inflicted by big government.

Wednesday Nov 05, 2008


Nothing original here, just a good time to reflect on the state of our aging democracy:

A democracy cannot exist as a permanent form of government. It can only exist until the voters discover that they can vote themselves largesse from the public treasury. From that moment on, the majority always votes for the candidates promising the most benefits from the public treasury with the result that a democracy always collapses over loose fiscal policy, always followed by a dictatorship. The average age of the world's greatest civilizations has been 200 years.

Great nations rise and fall. The people go from bondage to spiritual truth, to great courage, from courage to liberty, from liberty to abundance, from abundance to selfishness, from selfishness to complacency, from complacency to apathy, from apathy to dependence, from dependence back again to bondage.

An exhaustive history of these quotes and their non-authoritative attributions.

Friday Oct 20, 2006

Cringley labels Blackbox Sun's implementation of his Google data center in a container theory

Being an avid follower of all Google watcher theories and theorists, I immediately recalled Cringely's year old article when Sun announced Project Blackbox on Tuesday. I had been checking Cringely's site to get his reaction and it appeared today: "Sun announces the Google shipping container data center, but will it fly?".

For what it is worth, Cringely likes Sun's approach and he feels confident that Google will be a customer of it although he offers scant evidence. The other very encouraging spin he had was that this product would likely sell into completely new customer bases. Given that Blackbox can be outfitted with Solaris, Linux or Windows (since our Opteron kit is Microsoft Windows certified) the field is absolutely wide open to any type of shop out there.

For those who haven't read the technical details for the Blackbox, it requires 3 connections: data link, electricity and chilled water (to the tune of 60 tons). Since I grew up around the chillers used to cool data centers, I had to poke around and see what options our customers are going to have when they procure water chillers to compliment the Blackboxes.

Here is a Carrier water chiller rated at 600 tons in rental packaging (Enough capacity to provide the cooling for 10 Blackboxes)

It's no coincidence that Carrier chose the very same TEU (Twenty-foot Equivalent Unit) Container to package their portable chillers that Sun chose for the portable data center. Its the standard around which the transportation industry revolves.

During my childhood, my father would take me with him on emergency repair calls for the cooling systems for some of Silicon Valley's biggest names in computing. The highlight for me was the day we had to work on the cooling for the Cray at Apple. It was one of the models that cooled the chips by immersion in a non-conductive liquid. I specifically recall that my dad was not fond of that system.

I can only hope the Blackbox captures the imagination of a generation the way the Cray captured mine, and that it proves to be more profitable. I can already assure you it will be more popular with the on-call HVAC guys - their entire interface with the Blackbox will be no harder than a water heater, cold water in, hot water out. You ready to come out of retirement Dad?

Friday Apr 28, 2006

Leadership with a soul

Scott McNealy is a great leader and he has chosen his successor based on quality of character. I could not be more pleased with that criterion because leadership is a function of character. The transition of CEO has already happened and the best news is the culture of the company is not going to change.

This is a rare company that actually has a soul. We are a collegial community of competent people that thrive on mutual respect. That environment helps inspire the development of great products which not only enhance the bottom line, but contain higher order goals of advancing humanity. I personally need to work for a company that has a multi-dimensional culture. It is a cynical attitude which believes all corporations exist only to make profits. While all corporations must answer to their shareholders, that responsibility is not mutually exclusive of additional motivations for a corporation. I, for one, get very little satisfaction from just making money without having contributed something. Scoring a winning trade in the stock market is not nearly as rewarding as being compensated for mowing a lawn, writing a useful program, managing people, or being awarded a patent. I've profited from all those activities, but each one comes with varying levels of fringe benefits, and sometimes heartaches. Scott has referenced the intangibles as "psychic income".

We are all made of body, mind and spirit. I appreciate that Sun remains a place that recognizes and values all three facets in its employees and reflects them as a corporate entity; beautiful things embodied in campuses and hardware products, brilliant ideas expressed in tight code and redundant architectures, and lofty aspirations beckoning us to participate in realizing green technologies and bridging the digital divide.

Tuesday Sep 27, 2005

Planting roots in Austin

Today marks our family's 3rd month in Austin. Despite being in temporary living arrangements while our home is being built, we have done a pretty good job of settling in. Some of our friends marvel at our bravado in relocating, but we had good indications from our fact finding trips that Austin would welcome us and we had faith that we would find family in a local church. I have to say our expectations have been exceeded.

We've met all the neighbors around our future home and we have already become members of Hill Country Bible Church. My wife and I are leaders in the Awana group and we have joined a Thursday night small group that meets on our future street. We have also joined a huge gym that just opened this September called Lifetime Fitenss where we have been pleasantly surprised to bump into several church friends, so North Austin is beginning to feel like our home town. My wife is a also a leader in the MOPS (Mothers of Pre-Schoolers) group and has gone card making at a Stampin' Up! rep's house about 6 doors donw from where we will live. One of our girls has joined a choir, but we are still looking for a piano teacher for our other daughter. My wife's sister from So-Cal spent a week with us interviewing for jobs in the area trying to decide if she wants to relocate. Let's just say the home affordability is attractive. We have heard that the Avery Ranch subdivision in which we are building is approaching a level of 60% California transplants. A family my wife knew in California moved into our apartment complex a few weeks ago and is deciding where to buy, but with so many beautiful houses in their price range, they are suffering from choice shock.

So if anyone out there is desiring to focus your life on traditional values and raising kids, Texas has acres of land with miles of freeways under construction and most importantly a welcoming attitude to immigrants that is unparalled.

There is one aspect of the local culture that I do not expect I will ever assimilate - the love of college football. When meeting some people, you'll find that they are interested to know your college affiliation which from what I have gathered so far seems to translate to: "Are you an Aggie or a Longhorn?".

Friday Aug 12, 2005

Fair Tax

Eliminating the IRS sounds good to me. There is growing momentum behind the idea of the Fair Tax. I bought and read The FairTax Book after hearing about it on the radio. I have emailed my representative in the House to pass it, bill number is HR 25. Thanks for the kick in the action pants, Skrocki! I've even asked The Donald over at Trump University what his opinion of it is!

Here are the main points of the Fair Tax:

The goal

  • Simplifying tax collection
  • The sytem is designed to provide the same amount of revenue to the government as the previous system
  • It is not aimed at reducing government spending - only focusing on changing tax collection
What goes away
  • The IRS and tax returns are history == no more invasion of privacy
  • Income taxes, social security taxes and medicare tax for individuals and businesses in eliminated
  • Capital gains taxes, Estate taxes, Alternative Minium Tax - gone
  • Special interests who lobby for tax breaks are out of work
  • The huge burden of income tax preparation is gone from the economy
  • Businesses no longer need to waste time considering tax consequences before entering new lines of business
  • Tax law compliance costs are stripped out of the economy
  • Every American citizen no longer faces breaking the law every April 15th.
What gets added
  • A 23% sales tax is added to every retail purchase of goods and services sold anywhere including the internet. (currently all products average a 22% embedded tax burden in their price - so the price of goods is projected to remain flat with today's current prices)
  • Every month, every household is sent a check equaling the amount that would be spent on the tax for necessities for a poverty income lifestyle. (This is the hardest point to understand, but it is meant to elimniate the impact of the sales tax on the poor.)
Expected results
  • The economy will flourish as the US becomes a tax haven for capital investment
  • Individuals keep 100% of their paycheck.
  • Businesses return to the United States since they no longer have to pay taxes on their labor
  • The tax is extremely progressive - you pay tax when you spend money - if you spend alot you pay alot.
  • Taxation is not a penalty for hard work. You can earn and save and not pay any tax.
  • No such thing as being paid under the table anymore - since income is not taxed
My questions
  • Market for used goods (which are not taxed) will be insanely hot. (I will be buying stock in EBAY if the Fair tax passes)
  • Looks like state income taxes will be left alone - which means the burden of paperwork and invasion of privacy is not elimintated for a majority of the states. (Gob bless Texas!, and Florida and Washington state, etc all Bob Brinker listeners are supposed to have the list of income-tax free states memorized)
  • Looks like existing sales tax for state and local governments would remain in addition to the 23%.
  • New homes would be taxed - but supposedly again there is already 22% embedded tax in home construction, so this is supposed to be neutral on the impact of a new home price....
New areas for fraud
  • Black market sale of new goods
  • People registering ficticious/bogus head of household information to get extra refund checks.

Wednesday Aug 10, 2005

Don't call it AI

The last few days my colleagues and I have been wrangling with various approaches for architecting a provisioning solution. We need to integrate an entitlements system with Sun's Portal Server. The entitlements system will store user/asset mappings while the portal stores user/role mappings. The disparity is that not all entitlements map to a role. An obvious approach is to create a simple webapp for business users to manage those mappings and expose a webservice for the entitlement and portal systems to interact with.

However, considering that I have experienced 8 years of interesting and ever evolving marketing requirements, I wonder if this might not be the perfect opportunity to implement a rule engine. This would give the business the flexibility of developing more complex logic to derive roles from an assortment of entitlements. It would also put the power to change the rules in their hands. The idea behind rule engines is that the business logic can be coded by non-programmers in simple syntaxes - or even GUI abstractions - like drag and drop flow charts. These new rules can be added to the system on the fly like any other data. Essentially the rule engines allow the logic of a system to be changed just as easily as all systems allow the data to be changed.

Looking at rules engines and the Java Rule Engine API, JSR 94, led me to a neat interview with the inventor of Jess (Java Expert System Shell), Dr. Ernest J. Friedman-Hill. I was particularly entertained by this exchange regarding the perception of AI in the job marketplace (emphasis added):

JM: I'm concerned that AI/expert systems experience is still too esoteric for most employers of Java programmers to value as a skill. Am I wrong? How does a Jess developer market him/herself?
EJF: You're right to say that AI experience isn't going to impress many potential employers. But I just did a search at monster.com for business rules and found 1,200 job listings. Like anything else, it's all in the marketing. The cardinal rule of defining AI [is] if it works, it's not AI anymore - €”it's just programming.

Thursday Jul 28, 2005

Running in Austin

Today marks my third morning jog this week. Looks like I managed about 4 miles this morning. I have been a treadmill runner for many years, but having none at my disposal has forced me back to nature. I am really enjoying it so far. I waive to lots of walkers and joggers and send cotten tail bunnies hopping for cover. I'm worried about my leg muscles and joints though. I alreay experience some popping between my right calf and ankle after I've cooled down. I guess I'll have to do more than 15 seconds of stretching at 35 years old. We had several inches of rain last night from significant thunderstorms, so the resididual wetness left a terrific fresh smell in the air and a nice cloud cover to keep the sun at bay. A great start for the day.

Wednesday Jul 20, 2005

Outsmarting myself

Earlier today I was adding 2 additional languages to a localization utility I had written several months ago:
# !/bin/csh
## Invoke this script from the english branch in the directory
## of the file(s) that need to be copied to all the locales
## use -n switch to echo commands instead of executing them
## Example: where pwd is
## /web/www.java.com/en/renderers
## /web/tools/cp_l10n.csh -n javacom-rate-this-page.jsp javacom-rb.jsp
## output for dry run should be:
## /bin/cp javacom-rate-this-page.jsp /web/www.java.com/de/renderers/javacom-rate-this-page.jsp
## /bin/cp javacom-rb.jsp /web/www.java.com/de/renderers/javacom-rb.jsp
## /bin/cp javacom-rate-this-page.jsp /web/www.java.com/es/renderers/javacom-rate-this-page.jsp
## /bin/cp javacom-rb.jsp /web/www.java.com/es/renderers/javacom-rb.jsp
set dry_run=
if ( $#argv > 0 ) then
  if ($argv[1] == "-n") then
    set dry_run=echo
  foreach lang (de es fr it ja ko nl pt_BR sv zh_CN zh_TW)
    foreach file (${argv[\*]})
      set destination_dir = `pwd | sed 's-/en/-/${lang}/-'`
      eval ${dry_run} /bin/cp ${file} ${destination_dir}/${file}
  cat $0 | grep "\^##"
While I was in there, the sed command attracted my attention - probably because its the only fun part of part of the script - well the eval of the dry run variable and the grep through $0 for lazy usage message are kinda neat too, but back to the story. I thought, "Gee John, you were really playing fast and loose with your regex. Replacing any occurance of 'en' is crazy. We need '/en/' to be safe to match only the english directory name. So I hastily changed the sed line to:
sed 's-/\\/en\\//-/\\/${lang}\\//-g'
Thinking, "Great, now it will only match the exact string '/en/'". Note: '\\/en\\/' being the escaped form of the pattern - since as everyone knows sed uses '/' as its delimiter...

You all laughing yet?!

Yeah, you seasoned regex guys, and I'm one of you - just having one of those days - you're seeing that when I had originally authored the sed command I chose '-' as the delimiter since '/' was going to be heavily used in the pattern. So now sed was looking for literally this mess: '/\\/en\\//'. Naturally it found no such patterns in the list of files and the script accomplished nothing.

I've had some half-baked idea that future coding in IDEs might free us from regular expression escaping problems and all syntax for that matter. I envision some visual clue that sets off a regular expression from the surrounding code such that no escaping is needed since the expression is expressed in non-ascii characters. I'll get back to that idea some day, or help me out here - anyone else thought about this?

Not sure if there is any lesson to be learned. The good thing is I used the dry run switch when I invoked the script and therefore had a chance to see that the pattern did not work and the script, if it were not in dry run, would have simply copied the same english file onto itself 11 times. I'm frequently surprised by how often the code I have authored looks foreign to me. Could be related to the fact that I continuously switch between perl, csh, sh, ksh, java, jsp, and jstl. Hard to believe, 50 years into the history of software programming, a single programmer is regularly using 7 or more different syntaxes for "if then else if" branching.

perlif ( ) { } elsif ( ) { }
cshif ( ) then else if ( ) then
shif [ ] then elif [ ] then fi
kshif [ ]; then elif [ ]; then fi
javaif ( ) { } else if ( ) { }
jsp<% if ( ) {%> <%} else if ( ) {%> <%}%>
and my personal favorite, not!
jstl<c:choose><c:when test='${}'></c:when><c:otherwise></c:otherwise></c:choose>

I've annotated another copy of the script, in the event anyone can learn from it:

# !/bin/csh
## Invoke this script from the english branch in the directory
## of the file(s) that need to be copied to all the locales
## use -n switch to echo commands instead of executing them
## Example: where pwd is
## /web/www.java.com/en/renderers
## /web/tools/cp_l10n.csh -n javacom-rate-this-page.jsp javacom-rb.jsp
## output for dry run should be:
## /bin/cp javacom-rate-this-page.jsp /web/www.java.com/de/renderers/javacom-rate-this-page.jsp
## /bin/cp javacom-rb.jsp /web/www.java.com/de/renderers/javacom-rb.jsp
## /bin/cp javacom-rate-this-page.jsp /web/www.java.com/es/renderers/javacom-rate-this-page.jsp
## /bin/cp javacom-rb.jsp /web/www.java.com/es/renderers/javacom-rb.jsp
# be default the dry_run variable is set to nothing
set dry_run=
# check to see if we have more than 0 arguments
if ( $#argv > 0 ) then
  # check to see if the dry run flag is the first argument
  if ($argv[1] == "-n") then
    # if it is set its value to the command "echo"
    set dry_run=echo
    # remove -n from the argument list
  # Loop through the set of languages
  foreach lang (de es fr it ja ko nl pt_BR sv zh_CN zh_TW)
    # Inner loop through the remaining arguments which should be file
    # names in the current directory
    foreach file (${argv[\*]})
      # create a variable that substitutes the enlgish directory name
      # for the directory name of the language in the outer loop
      # use the back tick to cause the pwd (present working directory)
      # comand to be run and
      # pipe the pwd output into sed which does the language
      # search and replace, the resultant value is stored in
      # the variable destination_dir
      set destination_dir = `pwd | sed 's-/en/-/${lang}/-'`
      # use the eval command to execute the value of the dry_run varaible
      # if dry_run was empty, then /bin/cp gets executed
      # otherwise the echo command gets executed and /bin/cp
      # is simply printed to standard out as text
      eval ${dry_run} /bin/cp ${file} ${destination_dir}/${file}
# if we had less than 1 argument, cat the file and use grep to 
# show only the lines marked as usage instructions designated by ##
# $0 a predefined shell variable set to the path of the script 
  cat $0 | grep "\^##"

Note, my professor of "Unix Shell Programming" would be very dissappointed that I have repeatedly referred to this utility as a script. He encouraged all his students to call them programs so that Unix administrators who wrote in shell would command the same salaries as programmers. They are slightly different skills, but I'm not sure I place a higher value on one over the other. Shell programming provides more instant gratification in that it usually provides very quick returns on time invested. It also often has higher risk in that you can easily create run away programs that do very bad things if they fail to check for arguments or validate accuracy of constructed paths. Something to watch out for is hooking up a script as a root cronjob. Make sure you test that script in a pure root environment before setting it loose. The ENV for root is often different than what you experience su'd to root. Use the su - , to make sure you're not bringing along any ENV baggage that cronjob root won't have. Whenever possible I also like to adjust the time the cronjob is set to run so that I can watch the results while I am at work, since it is often the case that you set your crons to run at night and its never fun to be greeted first thing the next morning, or the 1st of the month with an unwelcome surprise.

Thursday Jul 14, 2005

Ergo breaks in Austin

On two of my first four days at work in the Austin campus, I have sauntered out to the pond behind building 9. On my return visit this afternoon, I was determined to identify the creatures jumping from the reeds into the pond as I made my way around the perimeter. On my first walk, I saw only fish and dragonflies and heard the kerplop of the skittish mystery creatures. Today, the pond greeted me with a colorfully striped snake about 2 feet long swimming across the surface. Next, I spotted a brown toad swimming away from the shore without a kerplop. Continuing around, I heard several more entries into the pond, but only saw the disturbance in the mossy waters. At the end of circling the pond, there floated upsidedown a mostly eaten 18 inch fish. It had a large mouth and no whiskers, so I'm guessing a bass. Next to the carcass, I spotted a small turtle's head with red stripes. That was more consistent with the amount of rustling and noise I had heard. I am fairly confident it is turtles, not the toads that I am scaring into the water. It is too hot for the toads to stay out of the water and we all know how turtles are sun worshippers. Now a new mystery needs solving, what predator took the life of the fish before the scavengers got to him? We've seen large herons in the area, but I think that fish was too big for them and I beleive they swallow prey whole. If anyone in the Austin area knows the local wildlife, I'd love to hear from ya. I'll bring my Pentax \*ist D tomorrow so I can share the experience.

Monday Jun 20, 2005

Hasta La Vista Kali-four-nia

This is my last week as a resident of California. I used the phonetic pronunciation above so you can read it like our Governator would say it. I hope he can turn the State around. California has been great to me and my family, but changing economics and telecommunications advances have culminated in a decision to relocated to Texas. At their same stage of life, my parents migrated our family from Florida to the "Golden State" in 1977. My father found double the salary and double the house price, but net-net it was a great move - and the weather.... Now, however the economics are not so good; perhaps it is still double the pay, but the house prices are quadruple or worse. We are forging our own path in the good old American tradition and starting anew in Austin. The hope is to settle into a neighborhood the kids can enjoy during all their growing up years just like I had in California. We have lost three quarters of our close friends and family in the last 5 years since the dot-com bubble burst. So we are hoping Austinites are less mobile folk. We already know they are a freindly lot. On all three of our trips there thus far, they have been extraordinarily welcoming of our intent to immigrate. We already know more about our future neighbors from a few conversations on our barren lot than we know about our current neighbors. Of course there is the weather.... I'll be blogging after the move and share my thoughts after the honeymoon wears off.

Leaving my buddies at Sun is the biggest downside to the move. An engineering team that I used to manage took me out to "Joy Luck" Dim Sum in Cupertino so I could enjoy chicken feet and jelly fish one last time before setting off to the land of barbequed red meat - which I have nothing against mind you.
Left to right: Brian "Yukfai" Lam, Tiep Vo, Matthew Montgomery, John "Hoffie" Hoffmann, Richard "Tony/Frosty" Welch, Mike Matsui and Venky "Venkman" Kumar.
Photo taken by our former colleague and longtime friend Gwynn

Tuesday May 24, 2005

Ransomware precursor to PC "protection" racket?

You've probably heard the news about the latest type of virus called ransomware. Hackers lock all your files and demand a payment to give you the key to unlock them. When you are doing "business" with unscrupulous people, you have to wonder how long it will be before they lock up your files again and demand more payment. This harkens back to the mob days when you had to pay "protection" in regular installments in order to not be attacked by the gangs. Too bad in the PC world I don't think entrepreneurial mobsters with skilz are going to be able to gurantee your protection from other hackers. The good news is I do know a trustworthy vendor who can offer real protection from all on-line threats; Sun of course. Sun offers the Java Desktop System for $100 per desktop per year. Looks like the promotional price of $50 is still in effect. That is a phenominal value for a great OS and complete peace of mind.

Thursday Apr 28, 2005

Truss and the Matrix

Hokey as it may sound, I find that I am more focused when scanning truss output if I'm listening to Matrix Reloaded's instrumental tracks. Surely it has more to do with the fast paced rhythm than any supernatural ability to be one with machine code, but the parallels are there to be drawn.

Neo sees Agent Smith laying a trap

Hoffie sees a missing class file
That output is from running truss on the process ID of the webserver demon; webservd. # truss -p 25150
And of course a little editing in The GIMP which came packaged with my Java Desktop System.

The debugging above is from my current project to install Sun's Java Enterprise System stack to provide a Portal infrastructure. We're deploying it on a Solaris 10 whole root zone that was created from a minimized install intended to be internet facing. This will be the first use of zones in my group's internet presence. For this test deployment we are using using two smokin' fast v40z's.

I'm jacking back in, uh, I mean turn up the volume.

Wednesday Apr 27, 2005

Humanizing Sun

Yesterday, the blogs team was officially recognized by Scott McNealy and rest of the executive leadership team as one of 15 recipients of Chairman's awards. The title of our award was "blogs.sun.com: Humanizing Sun, Changing Perceptions and Re-Enlisting Champions".

Back row, left to right: Me, Dave Johnson, Simon Phipps, Will Snow, Tim Bray

Pat, we missed you.

Tuesday Mar 29, 2005

Oath of allegiance

I attended the swearing in ceremony for 1400 new United States citizens this morning two of whom were Brits that have been family friends for 6 years. 100 countries were represented by the individuals taking an oath of loyalty to the United States of America. It was a truly powerful event for my wife and I (all five kids were present as well, but being aged 8 to 8 months, they probably weren't equally moved). Sure we salute the flag and say the pledge of allegiance on a weekly basis at Awana club meetings, but the oath of allegiance conveys the responsibility of citizenry in addition to the ideals of our society communicated in the pledge of allegiance:

"I hereby declare, on oath, that I absolutely and entirely renounce and abjure all allegiance and fidelity to any foreign prince, potentate, state, or sovereignty of whom or which I have heretofore been a subject or citizen; that I will support and defend the Constitution and laws of the United States of America against all enemies, foreign and domestic; that I will bear true faith and allegiance to the same; that I will bear arms on behalf of the United States when required by the law; that I will perform noncombatant service in the Armed Forces of the United States when required by the law; that I will perform work of national importance under civilian direction when required by the law; and that I take this obligation freely without any mental reservation or purpose of evasion; so help me God."

As people born into citizenship, we have taken much for granted and might consider a military draft an incovenience. I remember feeling impetulant about registering with the Selective Service when I turned 18. Immigrants are faced directly with the bi-directional nature of American citizenship. My wife expressed concern over how many new citizens there were. My response was that these legal immigrants are the ideal people with which to swell the ranks of America; hard working, law abiding and hopefully sincere in their oaths.




« July 2016