Q: “What would help make communications more clear, simple, and transparent for you?”
A: I come from a startup culture, where the Fearless Leader will once a week stand up an a table and enthusiastically explain what new deals and products are in the pipeline, in terms his Grandma would understand. Then we drink cool-aid.
Compared to that, most corporate communication is Kremlinology.
If you have a self-hosted WordPress blog, you really ought to keep it up to date. Popular software is a popular security target, and as new exploits are discovered, new patches are deployed. Fortunately, WordPress makes this super-easy. Just go to Dashboard > Updates and you can update with one click. I basically get a free update any time I get it in my head to write something.
Except this morning, when I was told that an update was available, but:
On my CentOS VM, this was addressed by:
sudo yum update
sudo service httpd restart
Actually, it was a little difficult, because we’re replacing php with php53:
0-13:11 djh@www0 ~$ cat /etc/redhat-release
CentOS release 5.6 (Final)
0-13:11 djh@www0 ~$ rpm -q php
php-5.1.6-27.el5_5.3
0-13:11 djh@www0 ~$ yum list installed | grep ^php
php.x86_64 5.1.6-27.el5_5.3 installed
php-cli.x86_64 5.1.6-27.el5_5.3 installed
php-common.x86_64 5.1.6-27.el5_5.3 installed
php-gd.x86_64 5.1.6-27.el5_5.3 installed
php-mysql.x86_64 5.1.6-27.el5_5.3 installed
php-pdo.x86_64 5.1.6-27.el5_5.3 installed
1-13:11 djh@www0 ~$ sudo service httpd stop
Stopping httpd: [ OK ]
0-13:11 djh@www0 ~$ yum list installed | grep ^php | awk '{print $1}'
php.x86_64
php-cli.x86_64
php-common.x86_64
php-gd.x86_64
php-mysql.x86_64
php-pdo.x86_64
0-13:12 djh@www0 ~$ sudo yum remove `!!`sudo yum remove `yum list installed | grep ^php | awk '{print $1}'`
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package php.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-cli.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-common.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-gd.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-mysql.x86_64 0:5.1.6-27.el5_5.3 set to be erased
---> Package php-pdo.x86_64 0:5.1.6-27.el5_5.3 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Removing:
php x86_64 5.1.6-27.el5_5.3 installed 6.2 M
php-cli x86_64 5.1.6-27.el5_5.3 installed 5.3 M
php-common x86_64 5.1.6-27.el5_5.3 installed 397 k
php-gd x86_64 5.1.6-27.el5_5.3 installed 333 k
php-mysql x86_64 5.1.6-27.el5_5.3 installed 196 k
php-pdo x86_64 5.1.6-27.el5_5.3 installed 114 k
Transaction Summary
================================================================================
Remove 6 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : php-gd 1/6
Erasing : php 2/6
Erasing : php-mysql 3/6
Erasing : php-cli 4/6
Erasing : php-common 5/6
warning: /etc/php.ini saved as /etc/php.ini.rpmsave
Erasing : php-pdo 6/6
Removed:
php.x86_64 0:5.1.6-27.el5_5.3 php-cli.x86_64 0:5.1.6-27.el5_5.3
php-common.x86_64 0:5.1.6-27.el5_5.3 php-gd.x86_64 0:5.1.6-27.el5_5.3
php-mysql.x86_64 0:5.1.6-27.el5_5.3 php-pdo.x86_64 0:5.1.6-27.el5_5.3
Complete!
0-13:13 djh@www0 ~$ sudo yum install php53 php53-mysql php53-gd
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: yum.singlehop.com
* epel: mirror.steadfast.net
* extras: mirror.fdcservers.net
* updates: mirror.sanctuaryhost.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php53.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-cli = 5.3.3-1.el5_6.1 for package: php53
--> Processing Dependency: php53-common = 5.3.3-1.el5_6.1 for package: php53
---> Package php53-gd.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: libXpm.so.4()(64bit) for package: php53-gd
---> Package php53-mysql.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Processing Dependency: php53-pdo for package: php53-mysql
--> Running transaction check
---> Package libXpm.x86_64 0:3.5.5-3 set to be updated
---> Package php53-cli.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-common.x86_64 0:5.3.3-1.el5_6.1 set to be updated
---> Package php53-pdo.x86_64 0:5.3.3-1.el5_6.1 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
php53 x86_64 5.3.3-1.el5_6.1 updates 1.3 M
php53-gd x86_64 5.3.3-1.el5_6.1 updates 109 k
php53-mysql x86_64 5.3.3-1.el5_6.1 updates 92 k
Installing for dependencies:
libXpm x86_64 3.5.5-3 base 44 k
php53-cli x86_64 5.3.3-1.el5_6.1 updates 2.4 M
php53-common x86_64 5.3.3-1.el5_6.1 updates 605 k
php53-pdo x86_64 5.3.3-1.el5_6.1 updates 67 k
Transaction Summary
================================================================================
Install 7 Package(s)
Upgrade 0 Package(s)
Total download size: 4.6 M
Is this ok [y/N]: y
Downloading Packages:
(1/7): libXpm-3.5.5-3.x86_64.rpm | 44 kB 00:00
(2/7): php53-pdo-5.3.3-1.el5_6.1.x86_64.rpm | 67 kB 00:00
(3/7): php53-mysql-5.3.3-1.el5_6.1.x86_64.rpm | 92 kB 00:00
(4/7): php53-gd-5.3.3-1.el5_6.1.x86_64.rpm | 109 kB 00:00
(5/7): php53-common-5.3.3-1.el5_6.1.x86_64.rpm | 605 kB 00:00
(6/7): php53-5.3.3-1.el5_6.1.x86_64.rpm | 1.3 MB 00:00
(7/7): php53-cli-5.3.3-1.el5_6.1.x86_64.rpm | 2.4 MB 00:00
--------------------------------------------------------------------------------
Total 12 MB/s | 4.6 MB 00:00
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : php53-common 1/7
Installing : php53-pdo 2/7
Installing : php53-cli 3/7
Installing : libXpm 4/7
Installing : php53 5/7
Installing : php53-mysql 6/7
Installing : php53-gd 7/7
Installed:
php53.x86_64 0:5.3.3-1.el5_6.1 php53-gd.x86_64 0:5.3.3-1.el5_6.1
php53-mysql.x86_64 0:5.3.3-1.el5_6.1
Dependency Installed:
libXpm.x86_64 0:3.5.5-3 php53-cli.x86_64 0:5.3.3-1.el5_6.1
php53-common.x86_64 0:5.3.3-1.el5_6.1 php53-pdo.x86_64 0:5.3.3-1.el5_6.1
Complete!
0-13:14 djh@www0 ~$ sudo service httpd start
Starting httpd: [ OK ]
And now I have successfully upgraded via the web UI.
Most days, I am not a CentOS admin, so if there is a better way to have done this, I am keen to hear.
“We are like tenant farmers chopping down the fence around our house for fuel when we should be using Nature’s inexhaustible sources of energy — sun, wind and tide . . . I’d put my money on the sun and solar energy. What a source of power! I hope we don’t have to wait until oil and coal run out before we tackle that.”
Lots of good humor to deliver a simple and important message. We face an important problem in that we designed our primary education systems to build conformist factory workers. As we rocket ever faster in to our collective future, what we’ll need more than ever is the capacity to formulate creative solutions to our new problems. Kids start out creative, then we educate the creativity out of them. We need to do what we can to help our kids grow with access to the various disciplines which move them, so that they can realize their potential as 21st century human beings.
Last week I enjoyed a great story by Rands, who, as a team lead, had a total communication disconnect with one of his team members. While he enjoyed an easy rapport with Harold and Stan, he just wasn’t clicking with Wallace. At first he accepted things as they were, but soon learned that the disconnect with Wallace was a genuine problem in need of improvement. Rands concluded that the only thing to do with Wallace was to completely unwind his normal assumptions about rapport and “clicking” with a colleague and just get down to making basic communication work. This can be pain-stakingly frustrating, but this is what you need to do when you’re not getting the easy, intuitive connection you want with someone you rely on.
One of the comments (Harry) chided Rands: “Here’s the deal: if your boss asks you to lead, he either gives you the power to sack people, or you don’t accept his job offer. In your case, Wallace is obviously not compatible with you. So you sack him.”
I thought “No–Good engineers are expensive, and it is preferable to learn to steer an existing engineer in the right direction rather than finding and training a replacement.” Other comments pointed out that Wallace wasn’t incompetent or incapable, just that he needed clear expectations with management. Someone named Dave chimed in:
“I’ve been a Wallace, and I’ve also been a Harold, and from my standpoint it has less to do with personality than with context. You can have a poor team dynamic, with no clear leadership and constantly-shifting goals, where everybody ends up isolated in their corner and becoming Wallace, at least in part. Or you can have a good team, where even the most Wallace-y engineer becomes Harold for at least a few hours each day.”
Amen. We each have in us both a Wallace and a Harold. They are Yin and Yang. The Wallace side of my personality wants to get heads down in to the work, but needs to know what to work on. The Harold side takes some time to chat up his manager and coworkers to find work and set priorities, then steps aside and lets Wallace get back to work. Tech workers tend to be more innately introverted, they tend to want a good manager to play the part of Harold, and come back and set clear work objectives and priorities. When things are not going well, unhappy people will tend to revert to their base personalities. For engineers this often means getting stuck in Wallace mode.
Sometimes employees are happy and eager, and sometimes they are curmudgeons. It depends on the context of work and life morale, mediated by an employee’s emotional intelligence. These are variables that can be influenced, allowing for change over time. Management needs to provide a positive work environment with clear goals. Employees need to do our part in building a positive home environment, with positive life aspirations, while also cultivating a greater degree of self awareness. An employee who learns to steer their own craft and deliver what management wants will create a more positive work environment for their colleagues.
“The universe is probably littered with the one-planet graves of cultures which made the sensible economic decision that there’s no good reason to go into space–each discovered, studied, and remembered by the ones who made the irrational decision.”
Within ten minutes, Maggie has defeated the automatic feeder.
Maggie likes to try and wake me up early for breakfast. Spraying her with the water bottle hasn’t dissuaded her, so now I put her out on the porch. I have read that an automatic feeder could distract her attention: instead of bugging me she’ll watch vigilantly over the feeder. And since we’ll be out of town for two weeks in May it would be a worthwhile investment.
Alas, this PetSafe Electronic Pet Feeder didn’t last ten minutes before she was able to break in and get the kibble. I’m proud of her. But I’m looking forward to finding a feeder that will keep her entertained without bothering me in the morning.
You never forget your first computer.
For Christmas of 1984, Grandpa gave us a
Commodore 64. A couple years later we
got a disk drive, and eventually we even
had a printer. Before the disk drive we
had to buy programs on cartridge, or
type them in to the basic interpreter
line by line. Mostly I just played
cartridge games.
Eventually we got a modem, and I could
talk to BBSes at 300 baud in 40 glorious
columns. (Most BBSes assumed
80-columns.) I was happier when I got a
1200 baud modem for my Amiga, which
could display 80 columns of text.
In my second year of college I
discovered the joy of C programming on
Unix workstations, which led to my
present career as a Unix SysAdmin. I
spend my days juggling multiple windows
of text, generally at least 80x24. /djh
I have been concerned that as Yahoo decays, that Flickr may at some point no longer remain a good place to host my photos. I do wish someone would create a competing service which supported the API. Some kid made Zooomr a few years ago, which was to sport a feature-complete Flickr API, but as best I can tell the kid moved to Japan and lost interest in Zoomr, which remains an abandoned stepchild.
Picasa? The desktop client is kind of neat but I don’t much like the web interface. It feels like another one of those one-offs Google bought but then had no idea what to do with it. Anyway, it’s just not my thing.
So, I took a look at SmugMug, who have been trying to lure Flickr refugees, but the consensus seems to be that if you like Flickr, SmugMug can not approximate Flickr. (The biggest concern for me is the loss of the “title” attribute. I’ve got 7,500 images online acquired over a decade . . .)
This is disappointing, because I like SmugMug’s promise of customization, and I have never been afraid to roll my arms up to hack on templates, HTML, and CSS to achieve my desires. Perhaps in the next few years SmugMug will become a little more flexible such that it can easily achieve what I want:
Individual pages for my photos
Support for a “title” attribute
An ability to browse title/descriptions (Flickr “detail” view)
Every so often I have this idea that the WordPress Gallery feature should take some steroids and create a friendly, Flickr-API-compatible hosting environment, which you could then customize just as much as you can customize a self-hosted WordPress blog . . . but that is very far beyond my code abilities and free time.
Last week I looked in on a project I completed a few years ago, to integrate the Cisco corporate logo with the IronPort corporate logo. Some bricks had gone out-of-order over time and when I attempted to put them back in place I realized that since everything fit just so I couldn’t get it figured out without the blueprints . . . which are stored on my old laptop at Cisco’s main campus in San Jose. So, I took the thing apart and down to San Jose for reassembly. I figure I’ll keep it on display at Cisco for a while, so I removed one row of white bricks to make a 4-brick-deep base.
So, one of my peeves is companies that charge new customers a lower rate, and then raise the rate after you have had them for a while. I think it is really weird that loyal customers are charged more than new customers. For example, I signed up for basic cable service with Comcast at $60/mo, but paid the introductory rate of $30/mo, which is about the most I’m inclined to pay for monthly television. (And I’m only willing to pay that much because I prefer to live with someone who likes TV.)
Anyway, my rate recently went up to, as best I can tell: $45/mo for the next six months, after which it will go up to $60/mo. “Homie don’t play dat.” So I called them and explained that I was only going to pay them $30/mo, either through them or DirecTV, which both offer new customers $30/mo. They transferred me to some other lady that said that it was $45/mo or bust unless I wanted the cheaper $30/mo package but no more Bravo. I said I’d check with my sweetheart and the lady on the phone said “okay, $30 package for you.”
Not sure if we have Bravo or not, I looked online. Aside from pirating shows, which is inconvenient for the non-techy sweetheart and the old analog television, Amazon.com offers “Top Chef” and “Project Runway” which is what we watch on Bravo, for $2/episode. If both shows are running then we’d pay $16 in a month, otherwise . . . ah and yes, Amazon on-demand service pipes straight through the TiVo: no technical expertise or computer connections required!
So, I think I’m paying Comcast $30/mo now, and if I don’t have Bravo then I’m purchasing shows a la carte. Vivé consumer empowerment!
Update: Comcast got in touch with me due to this post, and switched me back to the six-month $30 rate that includes Bravo. Thanks, Comcast! I guess I’ll have to blog about this again in August.
The G2 is fast as heck. It has all the cool new Android apps, and T-Mobile let’s you do tethering out of the box. We moved our apartment last month and setting up a wireless access point on my phone was braindead easy and plenty fast while we waited for the DSL installation. Everything works faster, and the battery life is better to boot.
The keyboards has a generally nice feel to it. But . . .
The biggest drawback is the lack of a number row on the keyboard. Really irritating to have to press ALT to type numbers. Entering “special” characters is a bitch-and-a-half. For example, to type a < you have to type ALT-ALT-long-press-j. WTF? Also, I miss the scroll wheel. There is a button on the phone that sometimes-but-not-always works as a directional pad to surf through a text field but I have learned to stab my thumb at the screen until I manage to land the cursor where I want it. (What I really miss is the Sidekick 2 direction pad.)
It is a very very nice phone with a short list of dumb shortcomings.
Heck, let us jump upon the social media bandwagon. If you don’t “get” Twitter then I’d say that Twitter is pretty much what you make of it. And for me, that’s a distraction where I can pop in and see if anyone I follow has come up with anything entertaining to say, and I can share a thoughtlet of what is on my mind, and then as quick as it came, Twitter is gone and I’m back to the rest of my day.
The following are entertaining bits I have seen fit to “re-tweet” and share with others during 2010, and now I’ll share them with you.
I took Mei to Europe. We visited London, Paris, Lyon, Rome, and Venice. Then the volcano erupted in Iceland, so we visited Florence, and camped out at Lido, near Rome’s airport.
We also made it out to visited Dad and Gwen in Colorado, and Mom and Grandma visited us in Brooklyn.
Poland lost much of its executive branch in a plane crash, and BP began spilling oil into the gulf of Mexico.
May
Mei learned to ride a bicycle. I got to tour the New York’s abandoned “City Hall” subway station. We began fostering two older “rescue” kittens, Maxwell and Maggie, in an attempt to “socialize” them to living with people. Mei’s folks visited to attend her graduation from residency, and a week later I took her to Coney Island.
On May 19, a young man, Ronald Glover, was murdered around the corner from our apartment. BP continued spilling oil in to the Gulf of Mexico.
One weekend after brunching at Two Boots in Park Slope, Mei and I were walking through Prospect Park. I asked her to stop, got down on a knee and asked if she would marry me. With tears in her eyes, she accepted my proposal, and we kissed.
BP continued spilling oil in to the Gulf of Mexico, while we watched world football games on television.
Mei and I trekked to Hoboken, New Jersey, to watch the fireworks.
In Oakland, BART police officer Johannes Mehserle received a light sentence of manslaughter for his shooting death of Oscar Grant. Oakland, to its credit, failed to riot. Mid-way through the month, BP stopped spilling oil in to the Gulf of Mexico.
As Mei was finished with her residency, and I was still employed by a San Jose-based company, we prepared for our move back to Northern California.
ROAD TRIP! We drove all of our belongings in a Penske rent-a-truck from New York City to Mountain View, CA, stopping in Chicago and Pueblo, CO along the way.
So, how does working from home compare with working from the office? Working from home allows greater productivity, because you skip the commute and can just grind away for several hours with few interruptions. It can also get a bit lonely at times. At the office, I’m not as productive as I was at the home office, but I get more opportunities to collaborate with colleagues: sharing skills and refining ideas. I’d say that for technology, a 40-80% telecommute could be ideal, but I haven’t had the chance to experiment, as our first Mountain View apartment was a one-bedroom.
San Francisco won the World Series. Fans torched the city. I wish we would stop spending public money to subsidize professional sports.
I had a chance to attend the “LISA 2010” sysadmin conference . . . in San Jose. Met a lot of nice sysadmins.
For Thanksgiving, we visited Mei’s family in Hawaii. This was my first visit. Nice place! There was much feasting, and we selected a venue for the wedding, and set a date in 2011.
When we got home, we took receipt of a notice from the landlord giving us three days to pay or quit. The deadline had passed. I sent a letter requesting an explanation.
The landlord never answered my letter, but instead filed a civil suit of unlawful detainer against us. I talked to a bunch of people in Virginia to establish that they had made a billing error and undercharged our November rent, and they wanted me to pay the difference, plus a late fee, plus re-pay the December rent, plus their legal fees. I talked to some lawyers who indicated that we had a good case, so I compiled an answer, and am looking forward to the hearing.
However, the stress of worrying over an eviction proceeding over the holidays was a bit much, so we took the opportunity to seek out and move to a bigger apartment in a nicer complex. Since nobody wants to move the week before Christmas, they gave us the first month’s rent free.
Mei was notified that she had passed the medical Board Exam for which she had been studying since finishing her residency. To say that she was elated would be an understatement.
Congress repealed “Don’t Ask Don’t Tell” and there was much rejoicing.
We made it home to Chicago for the holidays. There was much eating and visiting family and friends.
Several leading institutions fail, leading consumers to a rush on the remaining institutions, causing them to fail. A cascade of failures brings the whole system crashing down until the central authority undertakes a massive, unprecedented intervention to bring the system back to normal. At first, the degree of central intervention required is underestimated, but in time sufficient resources are brought to bear and the complex system recovers.
Interestingly, Skype’s network is actually a peer-to-peer network. It is a complex system which normally proves highly resilient, with in-built safety mechanisms to contain failure and ensure reliability. But under the right circumstances, failure can cascade. I couldn’t help but read that as a metaphor for free-market economics, which can usually take care of itself, but will enter a fugue state often enough to require a strong authority to intervene and put it right.
As a SysAdmin, the Skype network sounds like a very interesting beast. I figure that an action item against a future failure might be to provide a “central reserve bank” that monitors the health of so-called supernodes and automatically fires up large numbers of the dedicated mega-supernodes in the event of a widespread failure. (And such a strategy could well exacerbate some other unanticipated failure mode.)