Older blog entries for connolly (starting at number 91)

Adding server operations, DBA to my bag of tricks

I've always been a programmer. Then I learned enough about shipping software products at Convex and Dazel, and then global collaboration at W3C. I have always respected the people who keep the servers runningthe W3C systems team rocks!and now I'm learning a bit of that stuff too.

It's certainly happier than the feedback I've been getting while trying to learn about Oracle administration. (Frank isn't the name this guy used, but he was very frank.)

if I make a cold backup on AIX (big-endian) and I try to restore it on linux (little endian), am I more likely to win or lose?
you need to use rman or [...]
but you guys really should hire a dba
you could afford oracle, and a server for aix, and now a new linux server
you can afford a dba for a few hours
Or else, you could totally screw stuff up, especially the configuration and tuning of the linux DB
most admins now are giant #$%@# idiots who dont know that sqlplus exists. 
or they are "developers"  which their company put them in charge of the database
and are giant clueless idiots

Syndicated 2011-03-15 16:54:00 (Updated 2011-03-15 16:54:13) from Dan Connolly

2 Feb 2011 (updated 23 Sep 2011 at 09:07 UTC) »

Cleaning up my contacts with batch edits in the Google Contacts Data API

The Blizzard of Oz snow day gave me a chance to get my taxes done yesterday, and today I used the time to scratch a long-standing itch to clean up my contacts, which have been a bit of a mess since I merged two sources into one.

When I got my first android phone, a G1, I used the
Google Contacts Data API to write hipg.py for migrating my sidekick/hiptop contacts to gmail contacts. Then I grew disappointed with the G1 and went back to the sidekick. And then Microsoft bought Danger and lost everybody's sidekick contacts for a week or so. They restored some of the data, but all my street addresses were gone. I had back-ups, of course; I know better than to completely trust any cloud provider. But I hadn't written code to restore from my back-ups. So I lived without street addresses in my phone for a while.

Then I got another android phone, a Samsung Galaxy S Vibrant. I migrated the sidekick contacts again, and then, to get the street addresses, I imported the contacts from the G1 days. Google's merge tools cleaned things up to a tolerable level, but they left 2 issues:

  1. Duplicate phone numbers like:
  • +1-212-555-1212
  • 212-555-1212
  • Duplicated notes like:

    like they should be

  • I fixed a few of these by hand, but knowing that I could get the computer to do them all in batch has been itching at me for a while.

    It took just a few hours and a couple hundred lines of python to scratch that itch today with contact_fix.py.

    475:c87196981537 2011-02-02 fix all_contacts (self.)
    474:80739018dbfa 2011-02-02 - make group optional; default to all
    473:61412465cfed 2011-02-02 - fix duplicate phone numbers as well as doubled notes
    472:01c2becd5cfb 2011-02-02 batch edit works/tested in one case
    471:e7840a73836d 2011-02-02 batch edit operation (tested non-destructively)
    470:e4e531aae635 2011-02-02 run fix_note() on data from the server
    469:2ec84b8d0363 2011-02-02 - print names of contacts in a group
    468:b919239097e7 2011-02-02 contact_fix.py can login and get contact data

    I'm also working on archiving my contacts using hCard. More on that soon, I hope.

    Syndicated 2011-02-02 22:19:00 (Updated 2011-09-23 08:27:00) from Dan Connolly

    13 Jan 2011 (updated 7 Jul 2011 at 19:08 UTC) »

    A new year brings a new low in media and culture

    The new year brings a reminder that we have turned our culture over to Viacomm, AOL/TW, Disney, Clear Channel, and News Corp, with disastrous results:

    Do you know what entered the public domain in the US on Jan 1 2011? Nothing.
    — Rodney Ramsey, citing Duke Law on Public Domain Day 2011
    In a 1999 piece, How to Stop Worrying and Learn to Love the Internet, Douglas Adams said:
    ... during this century we have for the first time been dominated by non-interactive forms of entertainment: cinema, radio, recorded music and television. Before they came along all entertainment was interactive: theatre, music, sport – the performers and audience were there together, and even a respectfully silent audience exerted a powerful shaping presence on the unfolding of whatever drama they were there for. We didn’t need a special word for interactivity in the same way that we don’t (yet) need a special word for people with only one head.

    I expect that history will show ‘normal’ mainstream twentieth century media to be the aberration in all this.
    Since I was born in the late '60s, that seemed perfectly reasonable to me, as he went on to explain:
    you would think we would learn the way these things work, which is this:
    1. everything that’s already in the world when you’re born is just normal;
    2. anything that gets invented between then and before you turn thirty is incredibly exciting and creative and with any luck you can make a career out of it;
    3. anything that gets invented after you’re thirty is against the natural order of things and the beginning of the end of civilisation as we know it until it’s been around for about ten years when it gradually turns out to be alright really.
    Apply this list to movies, rock music, word processors and mobile phones to work out how old you are.
    Indeed, I have spent the bulk of my career leading development of open web standards and writing a little open source software; that is: on a shift to participatory media and free culture. But I spend plenty of leisure time on movies, handing ammunition to the old guard with every ticket.

    Games are a little less passive than movies, but I wonder where that leads us. Why We Haven’t Met Any Aliens is food for thought:
    ... if extraterrestrial intelligence is common, why haven’t we met any bright aliens yet? This conundrum became known as Fermi’s Paradox.

    I suggest a different, even darker solution to the Paradox. Basically, I think the aliens don’t blow themselves up; they just get addicted to computer games. They forget to send radio signals or colonize space because they’re too busy with runaway consumerism and virtual-reality narcissism. They don’t need Sentinels to enslave them in a Matrix; they do it to themselves, just as we are doing today.
    I just finished listening to the audiobook version of Lessig's Free Culture as I commute. The tl;dr version, from his OSCON 2002 talk, is:
    • Creativity and innovation always builds on the past.
    • The past always tries to control the creativity that builds upon it.
    • Free societies enable the future by limiting this power of the past.
    • Ours is less and less a free society.
    If you haven't at least watched the slides+audio of that talk, stop reading this now and do it. Then let's hope that Jan 1 2011 is the low point in this media aberration.

    I hesitate to call it a resolution, but maybe this year I'll make some progress toward the example that Aaron Swartz set back when the Creative Commons licenses were launched in December 2002:
    when I go to a movie, I donate money in the amount I spent to the EFF.
    Almost a decade later, I see they're still hard at work, fighting the absurdity Lessig notes in chapter 12: Harms:
    The four students who were threatened by the RIAA (Jesse Jordan of chapter 3 was just one) were threatened with a $98 billion lawsuit for building search engines that permitted songs to be copied. Yet WorldCom - which defrauded investors of $11 billion, resulting in a loss to investors in market capitalization of over $200 billion - received a fine of a mere $750 million. And under legislation being pushed in Congress right now, a doctor who negligently removes the wrong leg in an operation would be liable for no more than $250,000 in damages for pain and suffering. Can common sense recognize the absurdity in a world where the maximum fine for downloading two songs off the Internet is more than the fine for a doctor's negligently butchering a patient?

    Syndicated 2011-01-13 20:39:00 (Updated 2011-07-07 19:05:46) from Dan Connolly

    21 Nov 2010 (updated 4 Jun 2011 at 16:07 UTC) »

    "Lord of War" and the land of the ...

    Lord of War (2005) came to the top of my Netflix queue this week; it has been on my various to-do lists since February 2008 when my brother-in-law recommended it to me during my trip to New York. It's not the feel-good-movie-of-the-year, but it's got some meaty food for thought:
    The film was officially endorsed by the human rights group Amnesty International for highlighting the arms trafficking by the international arms industry.
    Lord of War - Wikipedia, the free encyclopedia

    - Weapons trading, civil wars, guerilla warfare, cold wars, the end of the Cold War, redistribution of wealth, the CIA, peace, Africa, AIDS, politics, Pacifism, chaos and anarchy, greed, immigration, the Russian mafia, conflict diamonds, massacres, prostitution, war, bureaucracy, arms embargoes, drug abuse and addiction.

    - Greed and power corrupt. Violence is in our nature.
    Lord of War [2005] [R] - 7.8.10 Kids in Mind
    Nicolas Cage once again plays the amoral main character and for most of the movie, we see through his rationalizations and we can see what's coming to him. We're right there with his wife when she says that while she failed at a lot of things, she'll never go so low as he has.

    But then-zing!-we learn that we, as U.S. citizens, are party to what he does, as it's a byproduct of U.S. foreign policy.

    And it's not just the U.S.:
    A brief postscript notes that, while private arms dealers do conduct a lot of business, the five largest arms exporters – the United States, the United Kingdom, Russia, France, and China – are also the five permanent members of the United Nations Security Council.
    Lord of War - Wikipedia, the free encyclopedia
    If that's not bad enough, there's more to see. Inside Job, called An extraordinary documentary about influence and government by Lawrence Lessig, is now playing in KC.

    Syndicated 2010-11-21 04:32:00 (Updated 2011-06-04 15:33:29) from Dan Connolly

    18 Nov 2010 (updated 18 Apr 2011 at 20:12 UTC) »

    Another meeting just snuck up on me while coding in my cube

    My new job is much more on the maker's schedule than the manager's schedule. Work at W3C basically consisted of preparing for and participating in several meetings a day with people all over the planet. Now I'm mostly coding away in my cube, and the little reminder icon at the top of my screen is not enough to break me out of it. (I'm trained to be interrupted by the buzz of my mobile phone, but sync between the enterprise calendar and android unreliable. Sigh.) Having people physically grab me means I don't miss the meeting, but it doesn't give me a chance to properly context switch.

    I don't use a laptop (mostly by choice) so access to the Web depends on either pre-filling a paper cache (printing stuff out) or using the pc/projector in the meeting room. The latter is often more disruptive to the meeting than it's worth.

    Fortunately, somebody else had printed the web page that I had prepared for today's meeting. And the group leader uses a laptop, so we had two copies.

    Part of my preparation for the meeting was to question whether we needed it at all, having recently read Tantek's thoughts on meetings. I thought the technical issues were pretty straightforward and we should just let the developer get on with it and deal with problems as they came up. But it turns out that some of my understanding of the requirements was wrong, and even in the parts that were right, brainstorming led to solutions that were better than the approach I expected development to take.

    Meeting discipline is important. My approach to the risks was finely honed over a decade of remote work, but now that we can get together in the same room without getting on airplanes, I'm learning it all over again.

    Syndicated 2010-11-18 18:47:00 (Updated 2011-04-18 20:06:36) from Dan Connolly

    17 Nov 2010 (updated 17 Nov 2010 at 15:16 UTC) »

    A VoIP puzzle

    Our home phone service is provided by a VoIP provider, ViaTalk. I have a VoIP client, sipdroid, on my smart phone. When the phone rings and caller-id shows a call I want to take, I'd like to take it on my smart phone. Is this too much to ask?

    Evidently so: when I have my smart phone register to answer calls on the home line, incoming calls no longer ring the land-lines in the house. SIP is complex enough to make configuring softphones a nightmare; for all this complexity, it can't register two devices for the same phone line at the same time? Or is the limitation somewhere else?

    p.s. If anyone knows how to solve this puzzle, I'd also like to forward caller ID to my phone as instant messages; I'm happy to write a little SIP to XMPP proxy in python, given the necessary clues about the protocol.

    Syndicated 2010-11-17 05:39:00 (Updated 2010-11-17 14:30:06) from Dan Connolly

    chorded keyboard for android, anyone?

    I don't miss a physical keyboard when I want to text "Did you feed the dogs?" messages. Swype and voice input work better.

    But anything much longer than that involves editing, which is really hard to do without chorded key combinations such as shift-select with arrow keys and mod+x/c/v/z for cut/copy/paste/undo.

    The web browser and photo browser make good use of multi-touch. Why isn't there a keyboard alternative that uses it for chorded input?

    Syndicated 2010-10-08 00:33:00 (Updated 2010-10-08 00:33:51) from Dan Connolly

    Putting the HTML5 genie back in the bottle in the name of web security?

    There's a lot of wisdom in what Crockford continues to say about HTML5 and web security:

    The HTML5 proposal does not attempt to correct the XSS problem and actually makes it worse... The fundamental mistake in HTML5 was one of prioritization. It should have tackled the browser's most important problem first. Once the platform was secured, then shiny new features could be carefully added.
    It makes a lot of sense in theory, but I doubted the practicality of it in a Dec 2008 item:
    after wrestling with the patchwork of javascript security policies in browsers in the past few weeks, the capability approach in adsafe looks simple and elegant by comparison. Is there any chance we can move the state-of-the-art that far? ... it seems an impossibly high bar to reach, given the worse-is-better tendency in software deployment...
    He acknowledges the difficulty, to some extent:

    HTML5 has a lot of momentum and appears to be doomed to succeed.

    He goes on to recommend to suspend the current HTML5 activity now:
    I think the wiser course is to get it right first. We have learned the hard way that once an error gets into a web standard, it is really hard to get it out.
    Would that standards had so much impact. It's true that once a W3C Working Group is in motion, it's difficult for the organization to decide to stop it. But that's really only tangentially related to the heart of the problem: shipping code. Much of the web development community and many of the users have their fingers on the shiny new features; who's going to go first in taking them away?

    Syndicated 2010-09-29 15:44:00 (Updated 2010-09-29 15:44:22) from Dan Connolly

    18 Sep 2010 (updated 9 May 2011 at 21:10 UTC) »

    Ditch cable TV? Yes. Build an HD DVR out of old PC parts? Maybe not.

    This item was supposed to be entitled Ditching cable for netflix/wii, broadcast HDTV, and a DIY PVR. After watching the digital media marketplace and technology for years, I convinced my family it was time to go for it this summer. We're close, but due to one critical breakdown in my research, we're not quite there.

    1. Cancel TV part of double play TV+Internet subscription, reducing it by ~$60/month.

      We never did go for their triple play with phone service; I signed up for VoIP with
      ViaTalk when we moved houses a couple years ago, and we've been pretty happy with it. While only the cable company can do on-screen caller-id, I'd rather have stuff like email and SMS notification for messages, for less money. Try it, and tell 'em Dan sent you (referral code 47340A17).
    2. Set up TV for broadcast HD TV.

      The salesperson at Best Buy recommended a $60 active antenna, but we went for the $30 RCA ANT1400 Multi-Directional Digital Flat Passive Home Theater Antenna (White) and it works just fine, even in the basement.
    3. Subscribe to Netflix.

       I wondered about the quality of streaming movies, and the first one we tried was pretty bad. We were planning to buy a Roku box, but first we tried it on my laptop, a MacBook Air, hooked up to the TV. Big mistake. Turns out these things have a well-known cooling problem, and "The problem is aggravated by system-intensive tasks such as video playback". Then we remembered Netflix started supporting streaming to Wii consoles, and we have one of those. It seemed too good to be true, but it's not. It's just like watching a DVD, as far as I can tell. We may or may not ever get a Roku.
    4. Cobble together a PVR out of old PC parts.

      My wife misses some cable-network-only shows, but for the price of a new HD capture card (around $80) it looks like we should be able to timeshift broadcast favorites such as Survivor and Big Bang Theory.
      That was the theory, anyway.
    I thought the hard part was video capture, encoding, and recording. Sucking in HD video through a USB gizmo seemed too good to be true; plus, the norm with USB gizmos is that half the smarts is in a proprietary, Windows-only driver.