Travelling to Europe? Perhaps you have a guidebook. Perhaps you have a few guidebooks. Considering the expense of travelling in Europe, it doesn’t hurt to have multiple guidebooks at hand. Alas, guidebooks can be bulky.
But you’re not planning to visit everything in each guidebook, are you? Nah! So, make your own guidebooks!
Step 1: remove the bits you are actually interested in:
Step 2: collate those bits into mini-dossiers. Now, both your “Italy” chapters from Fodor’s and Lonely Planet are in one convenient place!
“You got a sweethweart? How are they?” Boys are sweethearts, girls are sweethearts, husbands and wives are sweethearts, and maybe your sweetheart is a cat, or a video game, or your spinster sister, or what-have-you.
The only place where I see this maybe falling down is with poly-amorous people who have multiple sweethearts, but in my experience these folks are so busy getting laid that they don’t have much energy to take offense at the most superficial of trivialities. Sweet!
I have run in to this a zillion times. You SSH to a Unix server, type your password, and then wait a minute or two before you get the initial shell prompt, after which everything is reasonably zippy.
The short answer is “probably, something is wrong with DNS . . . your server is trying to look up your client but it can not, so it sits there for a couple of minutes until it times out, and then it lets you in.”
Yesterday I was working with an artist who had a hosting account, and when he got in, I said:
sudo vim /etc/resolv.conf
He admitted that he had just copied the DNS configuration from his previous server. How to fix this? Well, he could check what nameservers are provided by his current hosting company . . . . or, I changed his file to read:
I used to believe . . . that growing and growing up are analogous, that both are inevitable and uncontrollable processes. Now it seems to me that growing up is governed by the will, that one can choose to become an adult, but only at given moments. These moments come along fairly infrequently — during crises in relationships, for example, or when one has been given the chance to start afresh somewhere — and one can ignore or seize them.
Nick Hornby
I think that is a fair description. I think that for a long time I chose to be swept along with the current, without taking much responsibility for my destination. In the past few years I have gained a better understanding that the crises are “growing up” opportunities, and that I have successfully “grown up” from some of these experiences. Still, it is easy enough to be swept along and fail to learn lessons, and I have surely missed the opportunity to grow as much as I could have from some of these crises.
I also remember John Chambers, Cisco’s CEO, recounting advice he had received during the dot-com boom, that you really only have a great company after you have survived an existential threat. After you have had to “grow up” and see what hard decisions you make when it comes time to make those hard decisions. John recounted with a grim face the large number of layoffs that Cisco chose to make in order to survive the dot-com crash. Today, Cisco pays well, and hands out bonuses, but although it has billions in the bank, it is also religious about managing expenses, which can be frustrating at times. All the same, I prefer to work for a company that can sometimes feel frustratingly stingy, if it means my job is less likely to be axed in the next recession. I like to think that this “stinginess” is the mark of a “grown up” company which is keen to reduce the risk of future crisis.
There is a well-worn adage that those who set out upon a great enterprise would do well to count the cost. I am not sure that this is always true. I think that some of the very greatest enterprises in the world have been carried out successfully simply because the people who undertook them did not count the cost; I am much of the opinion that . . . the most instructive consideration for us is the cost of doing nothing.
Thomas Henry Huxley
The cost of doing nothing? Global Warming springs to mind. I have talked myself down from a lot of ideas because, for example, I have a better and better understanding of the costs of building a service on robust and scalable architecture. For the most part that is a good thing: great ideas should be able to wrestle down their opponents. But sometimes you just have to charge forward, and in the words of Buckminster Fuller, “dare to be naive.”
Our current national information security policy basically amounts to every company hires their own militia to provide collective security against attacks, large and small. The major ISPs will cooperate with each other to filter out attacks when they can, but . . . it is basically “every man for himself”
And our own critical infrastructure, like the power grid and the military, is constantly being hacked by the Chinese, who have a standing Army of highly competitive, over-caffeinated nerds and a shortage of women. Guys who can’t get laid acquire a lot of energy that needs to be directed somewhere.
So, this new initiative, to use a military analogy, amounts to giving the President an especially large white flag which can be deployed at a moment’s notice. “The Internet is under attack!? Quick, turn everything off and hide!!”
I mean, I thought I was all for Socialism and all, but this rapid surrender option isn’t the part of French national policy that I was hoping we would emulate . . .
How about instead of a “kill switch” we invested some time and energy and patriotism in to building a common defense strategy that analysed threats in real time and coordinated with the parties who manage our national networking infrastructure to deploy a rapid response to threats? Too obvious? Maybe oh maybe that is what they’re trying to do, but they have this “kill switch provision” in there that is making the whole effort look more retarded than it is.
On our trip to London I spent some time browsing the Science Museum, which holds many wonders. When I got upstairs I tingled inside at the sight of this beauty. Charles Babbage was a genius who designed a mechanical, base-10 computing device way before the modern computer era. His vision was never built: it was just too hard and expensive and plain old ahead of its time. Finally, in the 1980s, this computer was built based on Babbage’s old designs. A beautiful brass hand-cranked calculating machine! For a modern computer geek this is not unlike seeing a dinosaur brought to life.
Several years ago I watched a Japanese film titled “Unagi” which is the Japanese word for “eel.” The film was one of those 1960s-type free-form free-spirit no-plot-really affairs, where the protagonist one day comes home early to find a guy schtuffing his wife, murders his wife and her lover, then reports himself to the police. He serves his time as a model prisoner, and although prisoners are not allowed to have pets, he was allowed to feed the eel in the prison pond, and the warden gave him the eel to take home with him at the end of his sentence.
That is the beginning of the movie. First five minutes or so. After that, there’s not much plot. At least, not that I recall. The movie then lingers on a bunch of folks in his town who don’t have much going on. But the protagonist, Yamashita, did leave a quote I still adore:
“Nobody knows your father, but you’re still a fantastic eel.”
“If we could gather all the electric eels from around the world we would be able to light up an unimaginably large Christmas tree.”
Yes! Exactly what I was thinking. (Well, not really, but far more enchanting than my whimsical musing regarding the feasibility of electric eels as an alternative energy source.)
I like the New York pizza for its own sake, and I like the Chicago pizza for its own sake. They’re just different dialects of the same Sicilian mother tongue, equally valid, and equally susceptible to variance of quality among speakers.
I had a dream last night. I was riding the subway to my new job as Mayor of New York City. I was amused and a little relieved that nobody recognized me. I had been late out the door so after the crowd in the car eased somewhat I started changing in to my suit. That is also when I got some face time with a few of the remaining passengers, who told me they knew who I was, and were glad to see me going to my new job.
I had another dream last night, where we stopped at Grand Army Plaza because I’d seen a Blue-Footed Booby lay a big blue egg and walk away. We were concerned for the safety of the egg, so I went to move it into the shrubbery and bury it a little, except first my companion stepped on it a bit, cracking the shell. I sat the egg upright so the yolk wouldn’t leak and on my companion’s advice we began covering it with leaves. I found the egg was kind of like a potato and I could cut some skin from one side to patch the hole over the yolk. Things were going well enough until my partner did something I don’t remember that caused the egg to fail. I was upset, mad, discouraged, but got over the tragedy quickly enough. When we got back on the bus The Oppressor started criticizing my partner for her failings. This made me mad. I got up in his face and reminded him about his karma.
That dream was a pretty obvious reference to an episode earlier in the week where we “rescued” a fledgling from another corner of Grand Army Plaza, but due to bad advice and my own complacency, and the inherent difficulty of avian rescue, the little thing perished. I was upset, mad, and discouraged, and my partner was mad at me for the whole thing, which made me mad at her. In the following days I had more sympathy for her view because she’s working in a difficult, complex, high-stress, high-stakes environment where saving weak fragile little newborns is their passion. And there is always the fear of screwing up, which means suffering and often death, for the meekest of human beings, followed by blame, criticism, lawsuits. She shouldn’t have brought that home and laid it on me, but on the other hand when you live in a pressure cooker the steam is going to find your cracks. This will happen sometimes in a relationship and it is important to handle trouble gracefully. And she is certainly forgiving of my own shortages of equanimity. We didn’t talk about it, but she made me some cookies.
I read somewhere that in interpreting a dream, it is less important to figure out the imagery and symbolism, and more useful to study how you react to situations. Where earlier in the week I had wanted to defend myself against harsh, unfair criticism from my partner, in my dream I wanted to defend my partner against harsh, unfair criticism. I was pleased.
My coworkers were discussing the “stateless” nature of our periodic weeks on the pager rotation. I said that on-call was like driving across the country, a space outside of the normal flow of life, where night and day are flexible and after the first few days the miles all blend together. We’re moving back to California, where I have a job as a senior member of my team. A lot of the crowd won’t recognize me, but the old timers at the end of the commute will be glad to see me.
Well, I am working on extending a Django application to add log entries to the django.contrib.admin.models.LogEntry which may be fodder for another post, but while composing a change_message I wanted to convert a list of “changes” into a string like “Changed this thing, that thing, and that other thing.”
Here is what I have got, and since it is Python I bet $1 that someone will comment with a better way. (I couldn’t figure a good search query for seeking the answer so I had to use my brain.)
if len(updated_list) > 1:
rs = "Changed " + ", ".join(map(str, updated_list[:-1])) + " and " + updated_list[-1] + "."
else:
rs = "Changed " + updated_list[0] + "."
>>> updated_list = ['just one thing']
>>> print "Changed " + updated_list[0] + "."
Changed just one thing.
>>> updated_list = ['one thing', 'another thing']
>>> print "Changed " + ", ".join(map(str, updated_list[:-1])) + " and " + updated_list[-1] + "."
Changed one thing and another thing.
>>> updated_list = ['this thing', 'that thing', 'that other thing']
>>> print "Changed " + ", ".join(map(str, updated_list[:-1])) + " and " + updated_list[-1] + "."
Changed this thing, that thing and that other thing.