Older blog entries for Rich (starting at number 65)

How Not To Program

Today I saw this tweet:

Proposing a game to cheer up our programming newbies: Experienced coders, let's share code snippets we wrote after half a year of coding.

— Lena Herrmann (@kilaulena) November 26, 2013

And it took me back ...

2000, I was attending YAPC. I had been doing Perl stuff for several years at that point, and had written, among other things, a web calendar app called Hypercal. Calendar math was something I was very interested in at the time - particularly non-Gregorian calendars.

While at YAPC, I had several conversations with people about calendrical calculations, and on improving the core Perl date/time libraries. It was, in fact, immediately after one of these conversations that I attended a talk titled something like "how not to program", which featured spectacularly bad code examples from published works. I *think* that the speaker was MJD, but this was a long time ago.

As I watched the speaker expound on the horrors of the code he had found, I gradually realized that this was MY code that he was lambasting. As it happens, an early version of Hypercal had been used as an example in a Japanese book on CGI programming. I still have a copy of it somewhere, I'm sure, but I expect it's out of print now. But, there it was, on the big screen, for everyone to see.

It was truly awful code, and it could have been a truly humiliating experience, had I not, by that time, progressed a ways past my early errors. What's amazing was that, at the time, there were few enough people producing Open Source web apps that my dreadful code ended up being an example worth putting in print.

I often think of that incident when helping beginners. It's good to remember that 1) everyone you meet knows how to do something you don't, and 2) no matter where you are now, at one point you were a clueless beginner.

Syndicated 2013-11-26 22:01:23 (Updated 2013-11-26 22:01:24) from Notes In The Margin

How Mr. Weasel was made an outcast

This is "How Mr. Weasel was made an outcast", from the book Mother West Wind "How" Stories by Thornton W. Burgess. I haven't recorded something in a long time, but hopefully will do more of these in the weeks to come.

Listen to it HERE, or subscribe to my podcast to listen to it in your favorite podcast app.

Syndicated 2013-11-21 02:34:13 (Updated 2013-11-21 02:34:14) from Notes In The Margin

Mulled wine and a nice tree

7 years ago this evening, I knocked nervously on Carie's door. We had a date to make mulled wine. Yes, it's an odd first date.

We made several bottles of mulled wine, a few of which we still have. I said that one of her paintings was "nice". Yep, I really did. "Nice." Sheesh.

Eventually, it was time to go, and I said I'd like to see her again some time.

And here we are. And, seven years on, it just keeps getting better all the time. If there's a regret, it's that I didn't find her sooner. The nice painting hangs over my desk. It's still very nice.

nice tree

Syndicated 2013-11-18 21:49:22 from Notes In The Margin

Dan Radez on OpenStack

I spoke with several Red Hat engineers at the OpenStack Summit last week in Hong Kong, about what they work on with the OpenStack project. Here's Dan Radez, talking about what he does.

See also TryStack.org

You can listen to this conversation HERE, or subscribe to my podcasts to listen to it in your favorite podcast app.

Syndicated 2013-11-14 21:03:26 from Notes In The Margin

Samson Go Mic

I recently acquired a Samson Go Mic. It's awesome. I'm so used to having to shout into my mics that it's actually taken some adjustment to go back to talking at a normal volume, and also reduce the mic volume, to get audio that isn't clipped.

I did a couple of interviews in Hong Kong last week, and realized, when editing the result, that I didn't have the selector switch set correctly. There's a little slidey switch on the side, and the manual has a lot of technical jargon about what settings to use.

Samson Go Mic

Here's the summary: The circle makes the mic dual-sided, which is good for interviews. The one that looks like pacman makes it one-sided, which is good for just recording yourself. I have no idea what the one in the middle does.

I just had it set on the wrong setting, so it didn't pick up the person I was interviewing very well. So ... problem solved.

Syndicated 2013-11-14 20:29:47 (Updated 2013-11-14 20:29:48) from Notes In The Margin

Flavio Percoco on OpenStack Marconi

Last week at the OpenStack summit in Hong Kong I talked with Flavio Percoco about the Marconi project, which is incubating in OpenStack.

You can listen to this conversation HERE, or subscribe to my podcasts to listen to it in your favorite podcast app.

Syndicated 2013-11-14 18:46:41 from Notes In The Margin

RDO on the FlossWeekly show

This morning I had the privilege of being on the FlossWeekly show, with Dave Neary, talking about RDO and OpenStack. You can watch the show at twit.tv/show/floss-weekly/273.

Syndicated 2013-11-13 21:14:18 from Notes In The Margin

Time Warner Cable tech support

After a few days of network dropouts, and one day of working at Joseph Beth to get more reliable network, I finally decided to call Time Warner to ask them to fix their network.

The short form is, as I'm sure you already guessed, is that they declined to do so, rather choosing to blame it on me. They suggested I had stuff connected incorrectly, that my wireless router was the problem, and so on. And of course, several iterations of "turn it off and on again."

While I totally understand that tech suppose has to assume that the person calling doesn't know anything, there aught to come a point in these conversations when they are authorized to go off-script and recognize that I might know something about home networking. I'm not a CCNA, but I've been running a home network for close to 20 years, and I know to turn it off and on again, several times, before I subject myself to the pain of calling customer disservice.

So, the final result was that the entire phone call boiled down to them assuming that I have something wrong on my end, and they're not going to fix anything.

The network dropouts continue today, although it's better. I've only lost my VPN 3 times today, as compared to 20 or 30 times on Tuesday. So maybe they actually fixed something and just chose to tell me that they think it's my problem.

I wonder if there's some legal reason (i.e., not wanting to get sued) that causes them to not accept responsibility for anything.

I also wonder what other options I have for internet in Lexington. I also wonder why I'm paying so much for so little, but that's a question for another day.

Syndicated 2013-10-31 19:57:51 from Notes In The Margin

Google Hangout lessons learned

RDO just had our second Google Hangout On Air event, and it went much more smoothly the second time around, now that we have some idea of what you're doing. I wanted to share a few things while it's still fresh in my mind. Because of the way Google Hangouts work, there are several things that are not exactly intuitive, and you need to plan ahead for best results.

I don't have any illusion that I'm an expert, but hopefully these tips will help you be successful if you do your own hangout. I would appreciate your feedback and additional tips.

Attendee Limits and Hangout Tips
--------------------------------------------

Hangouts have a 10 attendee limit. We found that out the hard way the first time. So your audience doesn't actually join the hangout. Instead, they watch a live stream on Youtube, where there's no limit. Don't invite people to the hangout unless they are actually going to be talking.

Camera switches on voice - that is, the person talking gets the camera. So if you're not presenting, mute your microphone so that it doesn't suddenly switch to a shot of you cleaning your ears when you happen to rustle a paper. Better yet, turn off your camera, too, when you're not presenting.

Test Ahead of Time
------------------------

Presenting in a Google Hangout requires plugins, and the controls aren't immediately obvious. Create a test On Air event and have the presenter join and share their slides. It can be weird talking to your screen for an hour without seeing the audience, and it can be doubly flustering if things don't work quite how you thought they would. Give them the option of doing a full runthrough if they really want to, but at a minumum ensure that they can join the test hangout and get their slides shared, and that their microphone works well, there isn't a terrible echo in the room they're in, and so on.

Timezones Suck
---------------------

Timezones suck. Use TimeAndDate.com to create a page that shows everyone the time in their own timezone, for example http://www.timeanddate.com/worldclock/fixedtime.html?iso=20131031T1600

Youtube Stream URL
---------------------------

The event that you've created in Google Plus, and the actual "On Air" event, are not connected to one another in any way. You need to create an event, and then put the URL of the On Air event in the description. Unfortunately, you can't schedule the On Air event ahead of time. So you create the On Air event (ie, Youtube stream) and then edit the description 20-30 minutes before you're scheduled to start.

Start the On Air event well in advance and share a window (LibreOffice Present?) with details about the hangout and when it will start. You can edit that bit off when you're done, so that it's not in the final video.

What I'm going to do next time is have placeholder page for the weeks leading up to the event. Then, the day of the event, create the On Air event and redirect that URL to the event. Of course, to do that, you'll need to have a server where you can redirect URLs, or a URL shortener that you can update, or something like that. Failing that, just update the Google Event when you have the Youtube URL, or perhaps publicize a blog post or forum post which you then update with that URL.

Q & A
--------

Although the Hangout has a Q&A tool, that's only for people that are in the hangout. I'm still looking for a good Q&A tool, but for now we're using IRC. I recommend that you create a new IRC channel, rather than using your existing one. This removes the off-topic chatter, and makes it easier to have a transcript and an attendee list.

For the many people who are not comfortable with IRC, give them a web link, like https://webchat.freenode.net/?channels=rdohangout which takes them directly to the web chat applet.

Editing Video
-----------------

Once the event is over, Youtube has a simple edit tool that will let you trim off the 30 minutes of dead air at the beginning of the recording. This takes a LONG time, so make sure it's done before you start publicizing the URL of the video.

Anything Else?
-------------------

If you have any other tips, please share them with me. I want the third one to be even better than the second.

Syndicated 2013-10-31 18:03:11 from Notes In The Margin

Day One at LinuxCon

Although much of yesterday at LinuxCon was spent in a jet-lagged fog, it was a great first day. I arrived at the Edinburgh airport at 8 in the morning (I know, I should have come a day or two early!) and took the bus to downtown, then walked up to the conference venue. It's a lovely conference center located a short walk from numerous lovely pubs, bakeries, and shops.

I spent most of the day at the OpenStack booth, talking with people about what OpenStack is, as well as with people who have been using it for a long time and had deeper questions, or wanted to share what they're doing with it.

In the evening, I met up with several colleagues - one of whom I had talked with online but never met - for dinner and discussion. I'm frequently impressed by my coworkers and their passion to solve problems, rather than simply jockeying for position and prowess. These guys really want to identify and squash bugs, both technical and relational. I love it.

After a very long day (I was up for nearly 40 hours, I think - time zones confuse me) I finally crashed around 9pm and got 11 hours of sleep. I feel much more human today and am really looking forward to the day. I have a few interviews I have tentatively scheduled for today and tomorrow to record for the RDO blog. Hopefully I can track these folks down.

Syndicated 2013-10-22 08:42:41 from Notes In The Margin

56 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!