Fri 01 Jul 2005

  • evince: Last time I wrote about evince, I posted a fake screenshot of it reading mail. While I thought it was obviously a cheesy composite and a pretty funny idea, some people did not. In retrospect, I should have spent more time in the gimp to make it less realistic — and thus more obviously a joke. I promised a few people that my next screenshot would be both real and of a cool feature. So, without further ado:

    http://www.gnome.org/~jrb/files/evince-selection.png

    This is evince with real text selection! Kristian and I worked hard over the last couple evenings to get this working. We were just doing a rectangular selection before which wasn’t nearly as good. This feels much more natural, and is a necessary feature for a modern PDF browser.

    It’s in CVS now, and requires poppler-HEAD built against cairo. We’ll be improving and fine tuning it over the next couple days. In particular, we think that we can make interactive dragging significantly faster than it is right now. Additionally, when you hit copy right now, you get the wrong text, and the old rectangular selection is totally broken. These should both be pretty easy to fix, though.

    The other important thing about this change is that Kristian refactored the poppler text code a lot. It made it trivial to add I-beam support, and will make doing things like A11Y much easier to write. I’m going to keep cleaning up the selection code in the foreseeable future, but if anyone has any interest in tackling ATK support for ev-view, I’d love to hear from them. It is a self-contained project and should be straightforward to write.

  • features: One of the reasons I’m really excited about getting selection into evince is that it’s a great new feature that doesn’t involve a menu item. I feel like the shell of evince is starting to get cluttered, and we probably need to take the time to clean it up a bit. This feature will be really useful to the user without touching the interface at all.

    A lot of the best features are the ones you don’t notice.

  • hardware: I’ve had a really bad couple days. My sidekick crashed twice, and the harddrive on my desktop died destroying some pictures that I’d recently taken. My wireless access point has been flaky too, and gnome.org being moved hasn’t helped.

    I’ve been increasingly unhappy with the web-hosting I’ve gotten at pair.com, too. They do fine for what they are, but I don’t really want to put all my photos, etc. on that site at their current prices.

    One thing I miss about my old house in North Carolina is that I was able to get Speakeasy DSL service with a static IP. I’m stuck with a cable modem at my new place, and thus can’t reliably host services. I’ve been giving some thought to trying to put together a co-op of sorts, where I buy a server with a few others and host it at a colo. After the initial capital outlay, it seems to be competitive in price to most web-hosting services, and I’d have much more control over the box. We’d also be able to provide a lot more diskspace than most web-hosting people.

    I’m not completely convinced this is wise, as it’s one more box for me maintain, and it is a bit more expensive. I also need to find a few friends to do this with.

  • life: Zana keeps beating me at darts. It must be the shoes.

Sun 22 May 2005

  • evince: On a whim, I gave a quick look into writing a TIFF backend for evince. It only took an hour or so to do, and I was able to commit something this afternoon. It renders all the tiff files (two) that I have quite nicely.

    Marco also did a 0.3.1 release today. This version has really nice scrolling and zooming now. We’ve done a lot of tweaking of it, and I think it’s good enough that we can go a release or two without completely redoing it. Nikolay did a great job of adding an offset for resizing, and we now use a lot less memory for the thumbnails.

Sat 14 May 2005

  • introspection: Matthias has been doing fantastic work on the GObject introspection front. It’s currently in the gobject-introspection module in CVS if anyone wants to play with it. It is already mostly functional, if a bit untested. He added libffi support this week, meaning that g_function_info_invoke() now works.

    For those who haven’t been following this project, this is really exciting news. The introspection framework will give us the ability to find out what objects, functions and methods are available in a given library. Theoretically, a significant chunk of the work in a language binding can disappear when this lands. Additionally, libraries can be bindable without writing explicit bindings. It can also be used by glade-style applications to handle new libraries.

    To test it further, jdahlin started doing bindings for python, and I added the metadata to libpoppler. We’ve been able load in much of the poppler’s API into python, shaking out quite a few bugs along the way. The next step is to put together some working python bindings. We should be able to get something functional pretty soon.

  • evince: The latest version is pretty darned nice. We hit a lot of the initial features that we want, and it’s looking really sexy. We’ve gotten some great external patches, and there are a couple more good ones in the works.

    I started writing the presentation mode a couple weeks ago, and it turned out to be a lot less fun than I thought it was going to be. It wasn’t really clear how many pdfs in the wild are actually used as presentations, and it seemed an awkward fit with the rest of the interface. It also is going to require a pretty big restructuring of some of the code.

    Just when I was putting it down and moving on, a powerpoint renderer appeared! This makes it much easier to justify spending time on this code. I haven’t seen a patch yet, but I can’t wait.

  • weather: Inexplicably, for five weekends in a row, we’ve had rain on both Saturday and Sunday. My grass is growing out of control, and I haven’t been able to cut it yet. There have been nice days during the week in April, just not on the weekends. I want a refund!

  • sports: I watched Jeff Weaver take a no-hitter into the seventh inning tonight. Regretfully, as with all other games I’ve seen, it was broken up when Horacio Ramirez hit a double. One of my life-goals is to catch no-hitter from start to finish, and I seem no closer today to that goal. I really enjoy watching a pitching dual, and keep hoping that I’ll catch that most magical of games.

    In the eighth, it fell apart for both pitchers as the Braves hit a grand slam and the Dodgers responded in kind. The Dodgers win, 7-4.

Wed 27 Apr 2005

  • life: I finally naturalized.

    As of two weeks ago, I’m an American citizen. It has been long overdue, and was a hectic process. It culminated in a six hour ceremony — or at least, four and a half hours of waiting followed by a thirty minute swearing-in process. All-in-all, it was a small price to pay for three years of waiting, filling out forms and dealing with the INS.

    I’m very excited about the whole thing. On one hand, I’ve always felt like an American, as my British Citizenship was primarily an accident of birth. On the other hand, I have wanted to vote for a long time, and I finally will get that opportunity.

    After the ceremony, Zana and I went walking through Boston. We stopped by the Boston Public Library and looked inside Trinity Church. I acquired a BPL card, and we hung out in the records room for a while, browsing through strange books. We also went (unsuccessfully) shopping for tea pots.

  • basement: As spring is finally here, Zana and I spent the weekend cleaning up the basement. There’s a lot more work to be done, but it’s much more open than before. Zana also bought a dart board cabinet and two sets of flights as a naturalization present. I hung them up in the basement and we played a few rounds of Cricket. The flights were a Union Jack and American Flag themed, and somewhat ominously, I threw much better with the Union Jack flights.

  • evince: As Bryan mentioned earlier, I finally landed the continuous and dual scrolling modes for evince. We’re getting a lot of really nice patches from other contributors now, and it’s hard to keep up with them. Selection is still broken, but we’re working through a lot of the kinks that the scrolling introduced. When we’re back to feature parity, we are going to make a pretty awesome release. I’m looking forward to working on a presentation mode next. That is going to be fun to write.

  • GUADEC: I bought my tickets to GUADEC this week. Unfortunately, the Red Hat summit overlaps with the end of GUADEC meaning that I’ll have to leave a little bit earlier than I’d like. I’m especially sad that I’m going to miss Dan Kuznetsky’s talk — I imagine that he’d have a lot of interesting things to say.

  • yarrr: arrr…

Mon 04 Apr 2005

  • evince: I spent a couple evenings last week trying to finish up the threading changes to evince. I got it complete enough that I added two new features this weekend. The first was completion in the entry (see the screenshot at #172453). The second was to add continuous scrolling. Unfortunately, the first requires a bugfix in GTK+ HEAD to be truly useful, and the second is too immature to land. However, the continuous scrolling seemed to perform really well, which makes me feel much better about all the dramatic changes we made to the core.

    After the release this week, I’m going to try to get these in a usable mode and commit them.

  • cars: Zana, Soeren, Seth and I went to the MFA last weekend to see the “Speed, Style and Beauty, the cars of Ralph Lauren” last weekend. It was pretty sweet. I’m not a giant car afficianado, but it was hard not to be appreciative of these cars. I have a new favorite car too — the 1954 Mercedes gullwing SL (with matching luggage.) It was a gorgeous, gorgeous car, and more affordable than the rest. I found one on EBay for only $400K USD, as opposed to the several million the other cars went for. Something to save my pennies for…

    We went to the North End for dinner afterward, and had Cannoli’s for dessert.

  • games: After we got back to Nashua, I tried out Seth’s copy of “Donkey Kong: Jungle Beat”. It was surprisingly fun, though I hit the Bongo’s too hard and my hands hurt after 20 minutes. It was quite gimmicky (I doubt other genres will benefit from a pair of bongos), but this one hit the spot. Crazy, crazy game.

  • basketball: After being demolished in the brackets by Rosanna’s magic nickel, I’m finally looking respectable after Arizona choked. If she’d pulled off both Arizona and Louisville, I’d never be able to live it down.

  • housekeeping (spring): Zana and I went to Raffi’s Daylight’s Savings party last night. We saw a bunch of old friends who we hadn’t seen in a while, and made plans for the upcoming months. Winter is finally over up here, and we’re crawling out of our bunker. It’s looking to be a pretty eventful spring.

Wed 09 Mar 2005

  • civics: I passed my American Citizenship civics exam last week. It had taken a long time for me to get all the necessary paperwork filled out, but I finally have a date to go get naturalized. The test itself wasn’t as hard as I’d been led to believe, but I can see it being tricky to people who didn’t have an American education. It had simple questions, such as “How many stars are on the US Flag?” and “What do they mean?”, through “What is the Bill of Rights?” and “Who was Martin Luther King?”

    I resisted the temptation to answer “Martin Luther King Jr’s Father” to the last one. That was probably wise. It might have been a test to weed out pedants.

Thu 17 Feb 2005

  • Road Warrior: I’ve been out of town for over three weeks. I went to Hawaii for the FSG Accessibility conference, and then flew to Hong Kong to visit Zana’s family for a week. We followed that up with a weeklong vacation in Japan. It was a huge blast, and I visited a lot of great places and tried a lot of really tasty food. I won’t bore people with a giant travelogue; at least not today. But I had an awesome time and would love to go back again in the future.

  • Network Warrior: During this trip, I flew nine different legs, visited nine different airports, and stayed in four hotels. Through out the travel, NetworkManager worked like a champ. I have spent too much of my life fiddling with networks on Linux, it was refreshing to not worry about getting my laptop working. I was always able to find an access point and select it, or to plug in a cable to get a network. Many kudos to Dan for making NetworkManager so useful.

  • LWE: I went to LWE yesterday. I hadn’t been to one in over a year, and it was pretty much like the all the other ones I’d seen. It was pretty exciting to see such vibrant booths for both GNOME and Fedora, and was good to see old and new faces. Luis’s live CD was really popular and was a great idea! We are definitely going to have to have these ready at future events and at release time.

    One thing I’m reminded of everytime I go to one of these things is how hard it is to name a new company and product. There were a lot of mediocre names with booths at the show. I’m positive that I wouldn’t be able to do much better than most of the efforts there (AisleRiot anyone?) but some names were really awful sounding.

  • evince: On the fourteen hour flight from Tokyo to DC, I added support to evince to make best-fit “sticky”. It’s a little slow but it really improves the feel of the application. It also shows that we need to move to use a threaded rendering system sooner rather than later. Once that’s done though, we can add the continuous scrolling support we need so badly.