dannyman.toldme.com


Sundry, Technical, Technology, Testimonials, WordPress

Is CloudFlare Saving Me Money?

Link: https://dannyman.toldme.com/2011/11/23/is-cloudflare-saving-me-money/

I was poking around my CloudFlare Control Panel, and pulled up stats for the past month, from Oct 11 to Nov 11. It says it had blocked a bunch of attacks on my site, and consequently saved me over 5GB in bandwidth.

5.1GB saved!?

I said to myself, "I pay for bandwidth! Maybe this free service is saving me money?!"

“Really,” I said, “I pay for bandwidth, so if CloudFlare is saving me bandwidth, it is saving me money!”

But 5GB seemed kind of high. So, I checked my invoices from RackSpace. Here is the outbound bandwidth I have been charged for this year:

Invoice Date   Bandwidth Out
11/11          4.660 GB
10/11          4.972 GB
09/11          7.534 GB
08/11          5.467 GB
07/11          6.402 GB
06/11          5.978 GB
05/11          4.694 GB
04/11          6.294 GB
03/11          6.254 GB
02/11          9.652 GB
01/11          7.117 GB

RackSpace charges me on the 11th of the month, and, conveniently enough, I started using CloudFlare around October 11th. The highlighted line above is my first month on CloudFlare. It is my lowest number of the year, and it is conceivable that I could have totaled 9.5 GB in October since I pushed more than that in February. I’m skeptical that they are saving me as much as they claim to be, but for a free service to speed up my web site and save me even a little money . . . that is a good deal in my book!

Feedback Welcome


About Me, Technical, Technology, Testimonials

Google Reader Interface: -1

Link: https://dannyman.toldme.com/2011/11/01/google-reader-interface-1/

Note to modern web designers: since the displays are becoming wide and short, please do not squander vertical screen space. Here’s a good example of what not to do:

Viewed full size, you see a window that is 705 pixels tall. The OS claims 24 pixels, the web browser claims 90 pixels, and the web application claims 250 pixels. So, by the time you hit the actual content, 50% of the window has been wasted!

Squinting into a tiny pane to read news makes me angry. Google, you can do way way better than this!

Hotpatch: Install New Google Reader Rectifier for Chrome, which relies on you bringing up the left pane. (Thanks, Mike!)

Feedback Welcome


About Me, Technical

FizzBuzz

Link: https://dannyman.toldme.com/2011/10/31/fizzbuzz/

I was enjoying Patrick Kalzumeus’ career advice to computer programmers, which in turn linked to an article that states that only 1:200 applicants for computer programming jobs can write a simple FizzBuzz program. FizzBuzz must be something tricky like MapReduce! Not quite:

Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.

Most good programmers should be able to write out on paper a program which does this in under a couple of minutes. Want to know something scary? The majority of comp sci graduates can’t. I’ve also seen self-proclaimed senior programmers take more than 10-15 minutes to write a solution.

Huh? I remember when a CTO explained that a SysAdmin should have at least mediocre programming skills. So, I have always aspired to have at least mediocre programming skills. (More important, SysAdmins are extremely well-served when they can write programs to make their work easier!)

I haven’t written C code in a long while, but I fired up vim and had this compiled and running in a few minutes:

#include <stdio .h>
 
void main() {
    int i, fb;
    for( i = 1; i < = 100; i++ ) {
        fb = 0;
        if( i % 3 == 0 ) { printf("Fizz"); fb++; }
        if( i % 5 == 0 ) { printf("Buzz"); fb++; }
        if( fb == 0 ) { printf("%d", i); }
        printf("\n");
    }
}

I recall at least one interview with Google and probably other companies where I have done something like this on a white board, with the interviewer challenging me with compiler-like errors to help me repair syntax errors.

Patrick’s point is that when you work with excellent people, you see your skills in that context, and will tend to be unduly modest. But when you step back a bit and look at your skills in the context of the industry as a whole, you may well be among the best on the market.

Here in the Silicon Valley, there are plenty of tech jobs, but there is also plenty of competition, which means that the folks you come to associate with will tend to be toward the top of their field.

Patrick’s further point would be that you need to take your skills, and develop the capacity to convey the value that those skills can bring to an organization.

Feedback Welcome


Biography, News and Reaction, Technical, Technology

Birth of the Internet!

Link: https://dannyman.toldme.com/2011/10/28/birth-of-the-internet/

Leonard Kleinrock tells the story of the Internet’s birth. First word was LO:

And then, he shows us the world’s first router, which they were going to throw out:

My first experience of the Internet was a 1200 baud dialup connection to a USENET host that connected upstream twice a day at 2400 baud. That would have been around 1992 or 1993. (I was a broke highschool kid who couldn’t afford the $30/mo+ for a proper Internet connection.) My first email address was dannyman@netwrk21.chi.il.us, and I lost that address when my network uplink failed to pay his phone bill. Oh well!

When I started college in January, 1995, and had access to labs and labs and labs of computers directly connected via Ethernet, with Mosaic and Netscape installed, it was like I had found my Nerd Nirvana! It only got better when I took a C programming course on the Sun workstations in the basement of the DCL . . .

Hat Tip: Rackspace

Feedback Welcome


About Me, Recipes, Technical, Technology, Testimonials

Electronic Recipe Rant

Link: https://dannyman.toldme.com/2011/10/28/electronic-recipe-rant/

A friend posted a link about some iPad App that will show you recipes. My reaction was one of being condescendingly underwhelmed, and here’s the gist of what I’d really like to see in a “cookbook app”:

“Will it plan a week’s menus based on seasonal ingredients and give you a shopping list? Because that’s the fucking time-consuming part the computers need to fix.

Any clown can convert a menu book to an App . . . and any clown can find a recipe, drive to the store, spend 45 minutes trying to find some ingredient they don’t know about which is out of season, pay a bunch of money, get home, if they still have the energy maybe cook something sorta edible . . .

. . . but this being the 21st century, an electronic cookbook ought to be able to suggest recipes for you based on the ingredients you have ready access to. (In your pantry, in your growing region, partner with a supermarket…) I have found a website that does a mediocre job of this. This thing is begging to be invented.

Anyway, what I’m saying is–cookbooks in an app–that’s like lets transcribe 15th century technology into silicon. I say hell no, with all this information technology let’s leverage the information to really make it easy for the people to cook healthy, inexpensive meals at home. THAT is the revolution that will make us all better off.”

Feedback Welcome


JIRA, Sundry, Technology

JavaScript Hack: Hide an Element on a Page

Link: https://dannyman.toldme.com/2011/10/25/javascript-hack-hide-an-element-on-a-page/

JIRA is an issue tracking system that is really flexible, but sometimes presents irritatingly arbitrary limitations.

I have been working on a screen which uses multiple tabs. The tabs are there to make it easier for the user to find the fields they want to edit, without scrolling through a single long, complex issue. But every tab has a Comment field rendered on it, which makes things confusing, and makes each tab look like it needs scrolling.

So, just remove the Comment field from the Screen, right? No, it isn’t in there. So, can I remove Comment via the Field Configuration Scheme? No, it is mandatory. Damn your arbitrary limitation, JIRA!

Anyway, I don’t normally speak JavaScript, but I managed to gin up the following snippet to paste into a Field description which appears in the screen I wanted to tweak. It finds the element containing the Comment, and sets its style display attribute to none. As the page loads, the Comment box is rendered, but once the page load completes, the Comment box disappears.

<script type="text/javascript">
function hideCommentField() {
        var elements = document.getElementsByClassName('field-group aui-field-wikiedit');
        elements[0].style.display = 'none';
}
// http://stackoverflow.com/questions/807878/javascript-that-executes-after-page-load
if(window.attachEvent) {
    window.attachEvent('onload', hideCommentField);
} else {
    if(window.onload) {
        var curronload = window.onload;
        var newonload = function() {
            curronload();
            hideCommentField();
        };
        window.onload = newonload;
    } else {
        window.onload = hideCommentField;
    }
}
</script>

It is ugly, but effective. Also, it is helpful for me to learn JavaScript!

PS: Thanks for the Guidance, Ed Burns!

1 Comment


Photo-a-Day, Sundry, Technical, Technology

Yahoo URLs Cafe

Link: https://dannyman.toldme.com/2011/10/21/yahoo-urls-cafe/

image

It is a little thrill to query Google Maps for “yahoo urls” — URLs is the name of one of their cafeterias, where I am right now for a Meetup.

Feedback Welcome


Technical, Technology

Notes on CloudFlare

Link: https://dannyman.toldme.com/2011/10/11/cloudflare-free-cdn/

What it is: a free CDN!

What is a CDN? A Content Delivery Network is a service that caches parts of your web site at different points around the world. This makes your web site load faster in foreign countries, and it reduces load on your server, which is really useful if there’s a traffic spike.

Why is it free? Apparently, they started as a honey pot. A honey pot is a trap where you leave something sweet out for spammers and hackers, who will come and try to taste your honey. The honey pot keeps track of where the bad guys are coming from and what techniques they are using, and this data is then analysed to improve security. They also have a bunch of apps they can sell you, and honestly when you’re looking for a paid service for your company, the first thing that will come to mind is the service you already use for your personal stuff.

I personally have never set up a CDN before, but it has always sounded like a pain in the rear. So, I was pleased to see that Cloudflare made it braindead simple: they did a pretty good job of guessing out the contents of my DNS zone file, which I was later allowed to upload in full, then a quick update of my registrar’s NS records and yes, I was using Cloudflare inside of 5 minutes.

How does it work? It basically replaces your world-facing, web-serving A records with its own IPs, which it then answers HTTP/1.1 style. If you need dedicated IPs for SSL, that costs money. You set some A records to go straight to your server, so you can, for example, use SSH. It hands out the same IPs around the world, then magic network routing that I haven’t learned about takes care of the rest.

You're sharing IPs now, so HTTP/1.1 will work fine, but you'll need to set aside an A record if you need direct access.

CloudFlare A Records

Configure your A records: orange clouds will be fronted by CloudFlare, grey clouds will go straight home.

So, is it faster? Results from just-ping.com look very promising. I see an average latency of 62ms for CloudFlare versus an average latency of 144ms for direct access to my server in Chicago.

An interesting aside, here’s a bit of the just-ping.com output for CloudFlare:

 Mumbai, India: 	Okay	64.1	64.5	67.4	173.245.60.121
 Chicago, U.S.A.:	Okay	0.3	0.5	1.4	173.245.60.121
 Nagano, Japan: 	Okay	5.5	5.7	6.1	173.245.60.121
. . .
 Lisbon, Portugal:	Okay	58.8	59.1	59.4	173.245.60.121
 Chicago, U.S.A.:	Okay	1.8	2.3	2.7	173.245.60.44
 Dallas, U.S.A.:	Okay	1.4	1.6	1.7	173.245.60.44

And for my direct IP:

 Mumbai, India: 	Okay	286.8	288.1	293.1	173.203.101.184
 Chicago, U.S.A.:	Okay	1.9	2.0	2.5	173.203.101.184
 Nagano, Japan: 	Okay	165.8	165.9	166.1	173.203.101.184
. . .
 Lisbon, Portugal:	Okay	151.1	152.7	153.6	173.203.101.184
 Chicago, U.S.A.:	Okay	0.2	0.3	0.5     173.203.101.184
 Dallas, U.S.A.:	Okay	25.3	25.5	25.9	173.203.101.184

This shows two things. First, CloudFlare thoroughly reduces my latency anywhere outside Chicago. Second, and really just interesting for the biggest nerds, just-ping’s first Chicago node is closer to CloudFlare’s Chicago node, and just-ping’s second Chicago node is closer to my RackSpace-hosted Chicago node.

Okay, what about actual page-loading time? Well, I just happened to be doing some basic latency testing last month. Here’s what page load looked like in Google Chrome then:

Google Chrome's Developer Tool Network view last month.

Here’s what a page load from California looks like just now:

Page load time from California with CloudFlare enabled.

So, a basic test shows that the initial round trips go from 275ms to 136ms, and the total page load time is reduced by about 1/3. Now, the difference between 750ms and 500ms isn’t a huge deal, but the second you step overseas it makes a big difference. Above you see that the latency from my server in Chicago to Lison is 150ms, and 165ms to Nagano, and 290ms to Mumbai. With the latency goggles cranked to 200ms my page load times went from .75s to nearly 2s. So, my web site feelsfelt sluggish for people in Europe or Japan, and frustratingly slow in India. CloudFlare removes that frustration. Now, Mumbai can browse my site as comfortably as I could from California the day before. (Mumbai should be even faster once Cloudflare adds a node in India.)

Feedback Welcome


News and Reaction, Sundry, Technical, Technology, Testimonials

So Long, Steve . . .

Link: https://dannyman.toldme.com/2011/10/06/rip-steve-jobs/

. . . and thanks for all the fonts!

You will be missed, even by us non-Apple-fanboys.

UPDATE: Glenn Kelman has written the most eloquent words I have read that explain why Steve was an inspiration:

Many eulogies celebrate Steve in terms of his “products” — those mass-produced little gadgets that we love for letting us check email in front of our friends — and lose sight of his grass-strained spirit. What always moved me about Steve was the calligraphy and the LSD, the passage to India and his firing from Apple, his struggles at NeXT and his return from the wilderness.

The insistence on Steve’s perfection, on the vast difference between him as a producer and us as consumers, seems inhuman and even lonely to me. I wish we could take a moment in eulogizing Steve to grieve for him as one frail human to another, and feel in his passing the miracle of every human life; so many other people, geniuses on a smaller scale, are struggling his struggle. It hurts me that we have so much love to give to Steve and not to them.

Feedback Welcome


Linux, Technical

Latency Goggles for Linux

Link: https://dannyman.toldme.com/2011/09/09/netem-test-tcp-performance/

While diagnosing why an internal web site is slow for some users, I got data that our overseas colleagues see ping latency to the web site of around 200 ms. This is not unreasonable. Some web sites that attach a lot of additional objects cause remote clients to have to open several connections and make several round-trips to load and render a web page. What might work fine at 20 ms latency can really drag at 200 ms.

How to test this out? As a Linux user, I can use netem to induce added latency on my network interface:

# ping -qc 2 google.com
PING google.com (74.125.224.145) 56(84) bytes of data.

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5009ms
rtt min/avg/max/mdev = 4.136/4.197/4.258/0.061 ms
# tc qdisc add dev wlan0 root netem delay 200ms
# ping -qc 2 google.com
PING google.com (74.125.224.144) 56(84) bytes of data.

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5474ms
rtt min/avg/max/mdev = 205.006/205.034/205.062/0.028 ms

# tc qdisc change dev wlan0 root netem delay 0ms
# ping -qc 2 google.com
PING google.com (74.125.224.50) 56(84) bytes of data.

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 5011ms
rtt min/avg/max/mdev = 4.117/4.182/4.248/0.092 ms

Note, I’m on wireless, so I’m tuning wlan0. you’ll want to hit eth0 or whatever is appropriate to your configuration.


The YSlow plugin or the Google Chrome Developer tool Network tab can be helpful to see what is going on:

Google Chrome's Developer Tool Network view without extra latency.

Google Chrome's Developer Tool Network view with extra 200ms latency.

So, with my web site, an added 200 ms latency doubles total page load time from 0.8 seconds to 1.6 seconds.

Here’s what I see when I visit the problem web site:

A problem web site at normal latency.

A problem web site at additional 200ms latency.

Total page load time at 7.5 seconds is nearly three times slower than without latency.


A very crude way to measure things is with wget on the command-line.

The wget man page mentions the -p (page requisites) option, then the author suggests wget -E -H -k -K -p <URL>. (You’ll need to RTFM yourself…) So I do:

$ cd /tmp
$ sudo tc qdisc change dev wlan0 root netem delay 0ms
$ time wget -q -E -H -k -K -p http://google.com

real	0m0.160s
user	0m0.010s
sys	0m0.000s
$ sudo tc qdisc change dev wlan0 root netem delay 200ms
$ time wget -q -E -H -k -K -p http://google.com

real	0m3.832s
user	0m0.010s
sys	0m0.000s

Of course, even with all those options, wget behaves very differently from a modern GUI web browser: there’s no caching, it doesn’t parse the DOM and it will blindly download requisites it doesn’t actually need. (Even a large font file found in a CSS comment.) And it does all its requests serially, whereas a modern GUI web browser will fetch several objects in parallel. And whatever web browser you use over a connection with induced latency is not going to replicate the experience of remote users pulling page requisites from zippy local CDNs.


At the end of the day, I proposed the following advice to my remote colleagues:

  1. Try tuning the web browser to use more concurrent TCP connections.
  2. Try modifying browser behavior: middle-click faster-loading sub-pages in to new tabs, work on those tabs, then refer back to the slower-loading “dashboard” screen, reloading only when needed.

I also tweaked the web application to make it possible to show a more lightweight “dashboard” screen with fewer objects hanging off of it. This seems to improve load time on that page about 50%.

Feedback Welcome


doodles, JIRA, Technical, Technology

TICKET. OR. GTFO.

Link: https://dannyman.toldme.com/2011/08/17/ticket-or-gtfo/

I do not know the provenance of the source material, and can make no claims of intellectual property rights here. TinEye finds 550 similar images.

2 Comments


Linux, Sundry, Technical, Technology, Testimonials, WordPress

Updating WordPress: Upgrading php53 on CentOS

Link: https://dannyman.toldme.com/2011/07/05/wordpress-upgrade-php53-centos/

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:

"You cannot update because WordPress 3.2 requires PHP version 5.2.4 or higher. You are running version 5.1.6."

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.

8 Comments


Technical, Technology

UPS Tracking Numbers DO Roll Over!

Link: https://dannyman.toldme.com/2011/06/30/ups-tracking-number-rollover/

My package was shipped today. It arrived last January.

Feedback Welcome


Linux, Technical

isatapd: IPv6 on Ubuntu

Link: https://dannyman.toldme.com/2011/06/08/can-haz-ipv6/

Yes, it looks like you're using IPv6 already.

SysAdmins, check with Tom.

My employer (Cisco) makes IPv6 available internally on a test basis. Once I configured the isatap hostname on my system, all I had to do to get my Ubuntu laptop on IPv6 was:

sudo apt-get install isatapd

I look forward to trying this on a few more systems:

sudo apt-get install isatapd && ping6 -c 1 www.ipv6.cisco.com && figlet -c 'I CAN HAZ IPv6!!'

Feedback Welcome


About Me, Good Reads, Relationship Advice, Technical, Technology

I, Wallace

Link: https://dannyman.toldme.com/2011/06/02/i-wallace/

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.

Feedback Welcome

« Newer Stuff . . . Older Stuff »
Site Archive