Now that I spent an inordinate amount of time last night writing code, of course I find an existing app that does what I’m doing, only far far better. DeliciWeb allows you to export your Delicious Library to your website. Very cool.
Tag Archives: tech
Delicious library on your website, sort of
I’ve hacked together a few dozen lines of Perl that transform your Delicious Library XML file to HTML pages. It is by no means complete, but if you care, then it will give you a starting point. It uses XML::Simple, which has prerequisites of XML::SAX and XML::NameSpaceSupport.
Put this in “/Users/username/Library/Application Support/Delicious Library”, mkdir HTML
, and then run it. It will generate files in that HTML directory, one called index.html, and then one per book.
Patches welcome. I’ll be doing more useful things with it when I have more time to hack on it. Apparently I just spent 2 hours on this. Sheesh.
HJTI license. Will eventually have templates, so that I don’t have to listen to people complaining about how ugly my HTML is. It doesn’t handle the case where you don’t have cover images. And it currently only does books. No particular reason for that.
—————————————
Update: Version 1.4 does movies and music, orders the output by title, and has at least a nod at documentation.
Mmmm. Delicious
Chris has introduced me to Delicious Library. He had mentioned it before, and it seemed kinda neat, but I forgot about it.
Now that I’ve tried it, I can only say WOW.
The concept is easy – it’s a library inventory system.
The usage is easy – I point my iSight (or other digital camera) at the bar code on the book, and it appears in my inventory.
I have a rather large collection of books, but I have only the vaguest idea of what books I have. I’ve attempted, on a number of occasions, to put these books into some kind of database or card catalog, but it has always been way too overwhelming. It seems that with this, I can enter a shelf or two in an evening, and in just a few weeks have my entire collection inventoried. It also gives a way to handle lending out stuff from your library and keeping track of who has what.
So, I know that this sounds like a sales pitch, but I had to share this discovery. Finding software that does something this well, and is this easy to use, is a fairly uncommon thing.
Tiger
I’ve got Tiger on my laptop, and my initial impressions are mixed. There are some very cool new features (spotlight and the dashboard widgets) but very little else that I’ve noticed different. On the negative side, the ogg/quicktime plugin that I have been using in iTunes stopped working, and any attempt to play an .ogg file causes iTunes to crash. This is annoying, since 75% of my music is in .ogg format. I’m using the plugin from qtcomponents.sf.net, and I imagine that a fix will be forthcoming eventually, but for the moment it is deeply irritating.
I imagine it will grow on me, and I’ll find other things that are neat. After all, there are 216 new features.
Moscow trip report
The following is the trip report that I’ve written for my Russia trip. Since it is directed to a number of different audiences, it covers things that I’ve already talked about in some of my earlier postings, as well as ommitting some things that I may have told particular ones of you.
——————————————-
Now that I’ve had a little sleep, I’m going to attempt to write up what happened over the last few days.
On Tuesday, I left Lexington, Kentucky, to spend a few days in Moscow, for the Open Source Forum, Russia. I flew out of Lexington, to Cincinnati, to Paris, and finally to Moscow. These flights were on Comair, Delta, and Aeroflot, respectively. I arrived in Moscow at about 17:00 on Wednesday. The time difference is 9 hours, so this wasn’t actually 24 hours of travel, but it felt like it.
The trip was mostly without incident. In fact, I left Lexington about an hour early, since some seats opened up on an earlier flight, which gave me more time in Cincinnati to exchange some money, as well as not have to run across the airport, which my earlier schedule would have required.
In Paris, apart from being very confused about what gate I was to go to, I had no difficulties, and even had a little time for some lunch.
Aeroflot is the russian airline, and their logo is the hammer and sickle of the Soviet Union. Flying Aeroflot was something that I had long wanted to do, for reasons largely relating to reading a lot of James Bond books growing up. It is reputed to be one of the least safe airlines in the world, but I found the trip to be very enjoyable. And the food was great.
There was a driver waiting for me at the airport, with my name on a sign. Unfortunately, we really couldn’t communicate at all. The inability to communicate was probably the most frustrating aspect of the entire visit. The people were wonderful, friendly, and hospitable, and I wish I had been able to communicate.
There was a reception at 1600, I think, for the conference, but I didn’t get there in time, since I got to the hotel at about 18:00. I wandered around for a little while, and ended up at a restaurant called Yolki Palki, where I had a lamb shish kebab and a rice-like grain. There, too, I was largely unable to communicate, and it was pretty clear from the looks I got that I stuck out very obviously.
The hotel served breakfast starting at 0730, and when I arrived there were a bunch of people there who didn’t look russian. Jon Maddog Hall was at a table with some other folks who looked a little familiar. I invited Larry Wall to join me at my table when he came in, and a little later Peter Beckman came in and joined us. We talked about a variety of things, wandering through linguistics, being missionary kids and preachers’ kids, and supercomputing.
It turned out that the convention center was just a few minutes walk from the hotel, and I had been somewhat confused in my map interpretation. So Larry and I walked over the pedestrian bridge to the Radison hotel and convention center.
The conference network wasn’t quite set up yet. There was a hotel wireless network, but it was a bit pricey. I went off to the business center to acquire an international outlet adapter set, so that I could plug things in. When the conference network arrived, I set up a wireless network with my shiny new Airport Express. So, the wireless networking for Open Source Forum Russia was provided by Asbury College, which I thought was pretty cool. 🙂
The opening plenary involved some very interesting dances. (See photos.) And then all of the various major sponsors had about 5 minutes each to welcome people. Everything was in Russian, and everyone had headphones for the simultaneous translation. Everything was translated into English when it was in Russian, and Russian when it was in English. So there was always a few seconds lag when someone told a joke, before everyone laughed.
The tone of the conference was interesting, and distinctly different from most Open Source conferences in the US. Primarily, it was about persuading people that Open Source is good for Russia. So there were a lot of presentations from compaies that have been successful with varions Open Source business models. The message here is that there’s a viable business model with Open Source, where Russian companies can bypass years of development time by going with Open Source, and that there is a valid way to make money doing it. This was, as far as I could tell, very well received, particularly from the small companies.
The conference was sponsored by IBM and HP, but also a significant number of small Russian companies has a presence there, both as sponsors as well as with trade-show booths.
The most interesting session I attended the first day was a press conference, where the press was there in force, grilling the speakers about how Open Source would work in Russia. Unfortunately, I didn’t get a set of headphones in time, so I only heard the answers, and had to largely infer the questions. One of the main points that I kept hearing made was that Open Source allows Russia to keep money in Russia, rather than sending it to a company in Redmond Washington. Also, there was frequent mention of the fact that the US military would *NEVER* consent to running their critical systems on software made in Russia, no matter how friendly the two countries become.
During the course of the day, I had a very interesting conversation with Jon Maddog Hall, the director of Linux International, about regional conferences. I won’t go into great detail here, but will be discussing this at greater length on the Lexington Professional Linux User Group mailing list, if you’re interested in that. Basically, Maddog really wants to see regional Linux conferences be successful, and he’s willing to lend his expertise to make that happen.
At the end of the day, several of us congregated and headed down Arbat looking for a place to eat. Arbat is a wide pedestrian-only street dedicated primarily businesses catering to tourists. There are also numerous street performers who gather here, ranging from ballet to rap to one guy draped in snakes, selling the opportunity to have your photo taken with pythons around your neck.
We ended up at a Georgian place. Fortunately, Henri was with us, and was able not only to translate the menu for us, but also to recommend particular items. And his recommendations were all great. Around the table there was Larry Wall, Henri Bergius, Jon Maddog Hall, Troy Dawson, Michael Sparks, Peter Beckman, and myself.
When dinner was over, it was after midnight, and most folks went back to the hotel. Four of us – Maddog, Pete, Henri, and myself – went to a neighborhood cafe to chat for a little while longer. It was a small place with free wireless internet, and it was quiet enough that we could actually talk. We were tere until about 1am, primarily talking about the interplay of Church and State, in Russia, the USA, Finland, and various other places.
The following morning (Friday), we met for breakfast again, and then got the conference shuttle over to the convention center. Larry gave one of the keynotes, in which he talked about the various tensions within Open Source projects, and how they are generally the same ones that exist within any human relationships. The one that I found most interesting, at least in the context of Apache, is the tension between welcoming people into the community and keeping them out. Both are necessary, and a reasonable balance must be struck in order to create the kind of community that you want. Whatever that means.
Most of the talks at the conference tended to be leaning towards the product pitch, which is unusual for this kind of conference, but worked here, since it demonstrated that Open Source produces several viable business models. This was a message that this audience needs to hear. The other main theme was that Open Source gives a way to be independent of other nations, and not have to send your money somewhere else in order to have the products that you need.
Over lunch, I had a great chat with Henri about the Midgard project. I suppose that Henri should really be the one to tell the story, depending on how it turns out in the end. They are doing some very neat stuff, but I don’t want to give too much away.
There were a few technical difficulties leading up to, and during, my talk. I ended up giving a slightly abridged version, but I think that it was fairly well received. I felt pretty bad about it immediately afterwards, but conversations I had with a number of people over the next few hours made me feel considerably better about it.
Towards the end of the day, Henri needed to go, but wanted to have another chance to chat a little, so we slipped out just a little ahead of time, and took the underground to a cafe on Arbat, where we chatted for about an hour. We talked about a bunch of different things, but one in partcular stands out. I was talking about Geocaching, as well as other applications of GPS technology, including integration with blogging. Henri is talking with the GeoURL people about creating standards for encoding coordinate information in other data. For example, there are apparently cameras now that will encode the coordinates into the image, in the meta-data headers. So then, imagine if you could have a search engine where you could search for all photos taken within 1 mile of a certain location, between certain dates. Or, if people have location information in the blog entries, you could search for blog entries about a particular location on a particular day, and build a composite picture of a particular event from multiple individuals. I think it’s an idea with a ton of potential, if there was an easy way for people to obtain location information. It’s a bit painful right now, and even someone as fascinated with the idea as myself tends not to go through the pain every time.
We went back to the hotel and met up with a few people, and went to Yolki Palki for dinner. I had already been there a few nights before, but wanted to hang out with these folks so went again. Most of us got the buffet, which was excellent, and had a huge selection of different regions and types of food. Henri had to leave to catch the train, but the rest of us stayed for a while longer.
After dinner, we stopped at the hotel to get warmer coats, then walked to Red Square. Unfortunately, due to Victory Day and/or President Bush’s upcoming visit (depending on which version of the story you happened to hear from your respective taxi driver) everything was closed off. So we couldn’t get into Red Square, or Lenin’s tomb, or St. Basil’s, although we were able to get close enough to get some amazing photos.
After seeing St. Basil’s, we went to the Metro and attempted to get back to Smolenskaya, promptly becoming lost and taking the wrong line in the wrong direction. However, after a few changes, we managed to get back to the general vicinity of our hotel. We tried to go back to the same cafe that we’d been at Thursday night, but it was considerably louder, and we found another one nearby, which had good banana splits.
Most of us were still in town on Saturday, and we agreed to go to the Izmailovsky flea market. This is a huge sprawling flea market, apparently more for Russian tourists than for foreign tourists. Although a lot of the boots sell the traditional tourist items, there’s also a huge number of stands selling antiques, paintings, and icons. Thousands of icons. I managed to spend all of my remaining money, including all of my dollars and euros, retaining only 13 rubles for the return trip on the train.
After getting back from the market, I was ready for a nap. However, I remembered a couple things that I had promised to get for some people, so, after a trip to the ATM, I headed back down Arbat street. In one store, I saw a matryoshka portraying all of the Russian leaders, starting with Marx in the center and proceeding all the way to Putin. It was enormous.
When I finally found the items I was looking for, I returned to the hotel and took a long nap.
In my wanderings, I had seen a small local church, and went back there on Saturday afternoon. For those who don’t know, May 1 was Orthodox Easter, and so Saturday is one of the final days of Holy Week. I went into the church, where there was a steady stream of people coming in and lighting candles in front of various of the icons there. In the middle of the room, as part of the Easter liturgy, there was an almost-full-size of Christ, laid out in his burial clothes.
There were various dinner plans for various people. I had dinner with two fascinating individuals, and had a great time. Francois Bancilhon, from Mandriva (formerly Mandrake) and Louis Suarez-Potts, from OpenOffice.org, and I, went to a Ukranian place just off of Arbat. The food was fantastic, and we talked about a huge number of topics, including the role of Open Source in developing nations. I was lamenting the fact that so many african nations send so much money to that company in Redmond, Washington, which could be so much better used if it could just be reinvested into local software companied. This, of course, is one of the most important things that Open Source enables, and it’s why the argument for Open Source is so much stronger outside of the US than it is inside the US, where it’s primarily a philosophical issue, rather than a practical one.
It came out that I have not been back to Africa since 1989, for one reason and another. Turns out that there is an annual FLOSS conference in Africa called Idlelo, and that this year it will be in either Nairobi or Dar es Salam, and I was strongly encouraged to be there. Well, I’ll see what I can do. 🙂
The next morning at 0530, the driver arrived and whisked off to the airport. Speaking of whisked, it appears that traffic laws in Russia are largely non-existent. The speed limits, according to the driver, are all from the horse-and-carriage days, and bear very little on how people actuall drive. Indeed, he was going about 85 on the way to the airport.
My return flight was also largely without incident. I did arrive in Paris fairly late, and as we were getting off the plane into the bus to take us to the terminal, a gate agent showed up and said for anyone on the Cincinnati flight to get out the other door, and get on this other van, which will take you directly to your gate. That was nice. It seems that Paris is just starting a security screening process, since it was very disorganized and inefficient. We were asked a variety of questions about how, when, and by whom, our luggage was packed, and then we were allowed to board. But it was all very chaotic, with the agents wandering around in the crowd asking people.
So, that’s the whole story. I hope I haven’t left much out. A number of the conversations that I had with various people will hopefully develop into further interesting things. It was, in all, a very successful trip for me personally. I made a few new friends, and learned about some very cool technologies. I hope that these contacts will continue to bear fruit over the next few years.
Back home
I left my hotel in Moscow at about 0530 this morning, and got home at about 1730, which is 0130 Moscow time, making about 20 hours of travel time. I am really really (really) tired. There are roughly a zillion things that I want to write about. The last few days were amazingly cool, in what I saw, who I got to hang out with, and some of the conversations I had.
Meanwhile, you can see the rest of my photos. I had a Russian soldier say “Hi, Yankee” to me just outside of Red Square. 🙂
Right now, I’m going to get something to eat, then sleep a bit. Hopefully tomorrow I can unpack and get back into this timezone, as well as writing about some of the amazingly cool stuff that happened.
Russia, Thursday evening
Yesterday was pretty cool. There was a press conference that I attended, where several folks fielded questions from the Russian media about why Open Source is a good idea. The questions were really good, and the answers very coherent. I’m coming to really understand that Open Source makes even more sense in non-US places than it does in the USA, for all the reasons that have nothing to do with monetary cost.
At the end of the day, several of us went off in search of dinner. We went down Arbat, and came to a Georgian place. Fortunately, Henri was with us, since none of the rest of us were able to communicate beyond the level of grunts. Even more importantly, he knew what to order. It was fantastic. I wish I could remember what everything was called.
By the time we came back, it was somewhere around midnight. 4 of us went to a cafe to chat some more. It was after 1 by the time I got to bed, but I was still up at 6.
I still can’t get used to the idea that I’m in Russia. Walking down Arbat last night was just great. I hope to get to the Kremlin and St. Basil’s this evening, but I understand they are all closed off in preparation for Victory Day, as well as for the visit of Mr. Bush.
Time to go attend the opening talks.
Open Source Forum, Russia, day one
Here I am, in Russia. I haven’t had time to write yet, due to the network not being available throughout the conference. That’s just as well, since I’ve attended some interesting talks, rather than wasting my time on IRC.
I left my Swiss Card in my bag, so ended up having to go through the TSA roadblock twice. I need to remember to pick it back up when I get back to Lexington.
I left Lexington a little early. After checking in, they said that they could get me on an earlier flight, so that I’d have a little more time in Cincinatti. That worked out well, since I was able to wander around the airport in Cinci, get some good photos, and get some folks to stamp Daba’s passport.
The flight to Paris was uneventful, but very long. I haven’t been on a 7+ hour flight in many years. I suppose since 2000 when I went to London. I managed to sleep a little, but not much. There was a couple on the plane, sitting next to me, who were on their way to a short vacation in Paris, and I had a nice chat with them.
I was in Paris for about 2 hours, and was amazed with how quiet the airport was. It wasn’t empty – there were hundreds of people there – but they were so much quieter than a crowd of the same size would be in the US. I wonder why that is.
Out of Paris, I was on Aeroflot. I mentioned earlier that this was something I was looking forward to. I’m happy to admit that the flight to Moscow was uneventful, and very enjoyable. The plane was in excellent condition. The staff was helpful and courteous. The food was good. The coffee was simply amazing. It’s not hard to understand why folks visiting the USA have so much trouble with the coffee. When I have a plastic cup of coffee on an airplane, and it’s better than most of what I’ve had for the last several weeks, that tells you something.
And I didn’t understand a single word that was said to me from the moment I got onto the plane until I was standing in line at customs in Moscow.
Moscow airport was the only place where I was unable to get anyone to stamp Daba’s passport. This was because I was unable to communicate to the gentleman at the passport desk. This is a running theme. I feel very ignorant in my inability to communicate. I greatly regret not taking some kind of language course, so that I would at least be able to communicate at some rudimentary level. As it is, I can say yes, no, thankyou, and please. That’s pretty pathetic. If/When you travel, do yourself a favor, and take the time to learn a few things. I meant to, but the last few months have just been so busy, and I didn’t even learn basic things.
When I got through customs, there was a driver with a sign with my name on it, and he took me to the hotel. It was a fairly long drive, and I was anxious not to miss any of it.
First of all, the driving in Moscow is … interesting. Nobody wears seatbelts. And lanes seem to be, at best, a polite suggestion. Significant stretches of the road had no painted lanes at all, and people were driving where they needed to drive to get where they wanted to. There were several times when I was certain that we were going to get smooshed. But what was great about this was that there was no evidence that people were getting enraged with the way that their fellow drivers were driving. Driving like that in the USA would very likely get somebody swearing pretty fiercly, if not shooting. Here, it was a little scary, but it was safe, in some strange way, because it appeared to be what folks expected.
The hotel – Hotel Belgrade – is in Arbaskaya, across the road from the Foreign Ministry, a *huge* structure built during the height of the Soviet Union. Wow. I also saw a tiny little church with beautiful domes. I got a set of those nesting dolls that I can never remember the name of, and a lovely little wooden egg with a painting of St. Basil’s on it.
For dinner, I went to a place that the desk clerk at the hotel recommended, and had a lamb shishkebab and some rice-like grain that was completely unlike anything I have ever had. It was *fantastic*.
This morning I had breakfast with Larry Wall and Peter Beckman. That was pretty cool. And then I walked over to the conference with Larry. If I had known it was that close, I would have come over last night for the reception, but I thought it was quite a bit farther.
The conference so far has been very cool. The passion that people have here for Open Source is completely understandable. 1) Why would they want to send their money to the USA? 2) Why would they want their mission critical code – particularly government applications – to be running on code written by people in the USA?
The ability to jumpstart a business with existing code, and then hire people locally, and keep money in the country, is just *great*, and very appealing to anyone outside of the USA who has really thought about how the global economy works. When you send money to the USA, it doesn’t usually come back.
The wireless network here has been somewhat unreliable, so we’re now using my Airport Express. 🙂 Wireless network proudly brought to you by Asbury College. Go, Eagles!
Oh, yeah, one more thing. I had a great little conversation with Maddog Hall about small regional one- and two-day conferences, and why they fail, and what can be done to help them not fail. I sincerely hope that out of this will come some conversations in Lexington so that Kentucky can have a regional conference that is every bit as cool as the Ohio LinuxFest was. We have great people in the area, and there are some definite things that we did wrong the first two times around. (The first one actually happened, which made it inifinitely superior to the second one!)
The photos (link at the top) are not organized in any particular way, other than date. More to come, I’m sure.
I need a cup of coffee I’ll feel better
I need a cup of coffee I’ll feel better
Name that quote. And no fair using the internet.
Very hard getting up this morning, and I’m not sure why. I wasn’t up terribly late, but I really had to get DNS working. Here’s a tip. When you update zone files on the wrong DNS server, they don’t propagate. A few months ago, I started migrating services off of my aging server onto a less-aging server, and forwarding ports at the router. I keep forgetting that I did that, and updating zone files on the old server. Unfortunately, this time around, it took me about 2 hours to figure that out, rather than the regular 10 minutes. I’ve replaced the named.reload
script with a shell script that prints “Hey, genius, it’s on the other server now!” That should help.
If the doctor’s office was IRC
—> patient (~sick@hostpital.net) has joined #doctor
<patient> Help!
<doctor1> What seems to be the nature of your problem.
<patient> I’m sick. What could be the problem?
<doctor1> Can you be a little more specific about the nature of your problem?
<patient> LOL. Dude, you’re the expert. I’m just a noob.
<doctor1> ?
<doctor1> So … what are your symptoms?
<patient> I told you, man! Are you a retard? I’m sick! How do I fix that?
<doctor1> Ok, let’s try this again. What exactly is it that makes you believe you’re sick?
<patient> Are you calling me stupid? If I say I’m sick, surely I know I’m sick. I’ve been sick before.
<patient> Can anyone else help me? This guy is an idiot.
<doctor2> Um. He was trying to help you, but you didn’t tell him what the problem was.
<patient> Well, There’s some stuff coming out of my arm.
<doctor2> What does the stuff look like?
<patient> Well, it’s red. And kinda sticky.
<doctor2> We call that stuff “blood”.
<patient> And my hand isn’t working.
<doctor2> It’s not working? In what sense?
<patient> Just not working at all. But it worked fine yesterday.
<doctor2> So, what happens when you try to use your hand?
<patient> It just doesn’t work. And it gets this “blood” stuff all over everything. It’s like my hand isn’t there at all.
<doctor2> What happened to cause this?
<patient> Dude. It worked fine yesterday! How can it work fine yesterday, and then not work at all today. This is stupid, man! If you can’t help me, tell me someone else who can! I’ve been trying to solve this problem for like 10 whole minutes, man!
<doctor2> Ok, try to be patient. What happened immediately before this problem started?
<patient> I was making dinner. I don’t see how that can possibly be related. We’re talking about how I feel. My head is starting to feel woozy.
<doctor2> You’re feeling dizzy? Is your hand still bleeding a lot?
<patient> Well, my hand is over there on the counter. My arm is bleeding a lot. I think I must have cut it off when I was making dinner. Is it normal for my head to feel this strange? Dude, are you going to help me or not?
<patient> Wow. I don’t feel so good.
< — patient has quit (Remote closed the connection)
<doctor2> Wait! Come back!