Xfce Update

I haven’t really written about Xfce lately, I suppose. I’ve been hacking my ass off the past couple weeks, which has been great. In the past week or so I’ve closed around 20-23 bugs, and now xfdesktop is down to 9 bugs in bugzilla, a few of which I think might be either fixed or just irrelevant at this point. There’s one more that I want to fix, and then I’m ok with releasing our second 4.4.0 release candidate (hopefully this weekend).

This last one is giving me some trouble. Well, fixing the bug probably wouldn’t be that hard, but it’s the icon view drag-n-drop code, and it’s really a mess, a mess I’d like to clean up. Since I split the file icons out into three types (regular, volume, and special), a lot of the original code got copied and pasted, and then modified only slightly for the different icon types. Then the icon view itself handles some of the DnD (the part where you’re just moving an icon from one place to another), and the icon view manager orchestrates some of the interaction with the various icons. It’s really not terribly well designed, and I want to refactor the hell out of it. I’m having a hard time coming up with a good design, though.

On one hand, I have the simple part of DnD that just deals with rearranging existing icons on the desktop. Both the window icon and file icon modes use this, so it makes sense to have it in the icon view proper rather than duplicated twice in each of the two icon view managers.

However, the file icon manager needs an extra bit: you have to be able to drag one icon and drop it on another (in some cases, anyway; some icons aren’t a drop destination). To accomplish this, the file icon manager hints to the icon view that it should allow “overlapping drops” in some situations. Or rather, the icon view allows them in all situations, but then asks the file icon manager if a drop destination is ok. I really dislike special-casing this.

Finally, for the file icon manager, we have a third mode of operation (well, third and fourth, but they’re mostly the same idea): dragging icons from the desktop and dropping them in another application (like a file manager), and receiving drops on the desktop from other applications (like a file manager or web browser). The latter bit has two code paths to deal with whether the external drag’s destination is on an open part of the desktop, or on an existing icon.

This gets really messy, because each of the three icon types are currently handling external drops on themselves individually. The code is mostly the same, but there are subtle differences in some cases (differences that can probably be factored out, or maybe just ignored entirely with a better design).

My first thought is to leave the ‘rearrange DnD’ in the icon view where it is now. This is a bit of a no-brainer: the icons themselves and the icon view managers don’t deal with this at all right now (and I’d like to keep it that way), and pushing the code into the icon view managers would cause a bit of duplication. So that’s fine.

But what about the overlapping drops? I think what I’d like to do is ignore them, at least in the icon view. Or rather, always handle them as if they’re possible. So the idea is that when I drop one icon on another icon, the icon view manager gets a synthesised drop event (as well as drag-motion, drag-data-received, etc.) from the local icon; this way it doesn’t even have to know it’s local, and can treat it just like an external drop (thus using the same code path for something that’s in two separate code paths now). For this to work, each icon is going to have to provide a list of source targets it supports, as well as allowed actions. And there needs to be a way for it to say “no, you can’t drop me on anything else” (I guess just a NULL return from the supported source targets will do there).

Then, for external drops, I can just handle them much in the same way they’re being handled now.

Actually, all this stuff is starting to make some sense. It’s a bit late now, but I’ll try to work on this tomorrow or Friday.

Code Search

Google has recently unveiled their code search feature, which lets you search the internet for open source code. I already have more respect for it than for its competitors. When I search “brian tarricone” in Krugle or Koders, I just get mention of my name in a file of Gaim’s source, from a (small) patch I submitted to fix a plugin. When I try Codease, I just get a 502 Proxy Error. Great service, guys.

However, with Google’s code search, I see my name in a bunch of Xfce- and Xfmedia-related files. Rock on. “Results 1 - 10 of about 12,800,” it says. Awesome.

Low Power NAS-like Device

Hey, lazyweb.

Recently I’ve been thinking about turning my desktop PC off to save electricity. Lately I haven’t even been using it all that much, instead opting to sit in the living room using my Powerbook. However, my desktop PC currently hosts a public SVN, as well as some private web resources that friends use relatively often. I could move the SVN elsewhere (probably mocha.xfce.org), but the private resources are not feasible to move to an external host. I also use the box as a backup mail server, but I haven’t needed it in some time (right now it’s more of a backup to a backup).

My main issue is storage. I currently have about a TB of storage in my desktop PC, which acts as a media source for my HTPC in the living room. For various reasons (mostly physical space), moving the storage to the HTPC isn’t really workable.

So, my next thought would be to build a NAS. In the process, I’d like to upgrade my storage to SATA, and use RAID5. However, this isn’t strictly necessary; I’d be OK just moving my current hard drive setup to a new box and putting off the upgrade until later (which is more likely, as I don’t really want to spend the money on 4 new 320 or 400GB hard drives right now).

So, here’s what I want. A low-power NAS box that can take a minimum of four hard drives. It would be nice if could be expanded later to support eSATA so I could add external boxes if needed. The software running it needs to be completely open source (Linux preferred, though one of the BSDs would do), or easily replaceable with an open source NAS stack. I need to be able to run a web server on it, and it needs to be able to handle RAID5. Gigabit ethernet is a must, even though my home network doesn’t support it (yet).

I also wouldn’t mind building this. A low-power, heavily integrated motherboard with a low-power CPU and 4-8 SATA ports would be fine. One or two PCI slots would be good. If the motherboard doesn’t have IDE channels, I’d need to get an IDE card for it until my storage gets upgraded. Ideally I’d like to be able to hook up a 512MB or 1GB flash card to it to host the OS so I don’t have to waste HD space on that stuff.

Oh, and I don’t want to spend any more than $350 or so on this (not counting hard drives). That might be tough.

Any thoughts?

Philly Orchestra Rocks

The Philadelphia Orchestra, arguably one of the best orchestras in the world, has a clue. They sell their recording online, and many of them are available for download. No proprietary formats? Check. No DRM? Check. Lossless? Check. They’re using FLAC. Rock.

Craigslist Ads Suck

First I’ll say this: I love craigslist. The best-of list gives me hours upon hours of amusement, and a good portion of the ads are useful and make me want to actually call the person when I’m looking for what they’re selling.

But then there are the retards.

I’m sorta in the market for a new apartment – well, not really until the spring, but every now and then I glance around to see if there’s anything ridiculously amazing that would make me want to break my lease – and probably a new bicycle. My old (crappy, rusty) bike was stolen about 3 years ago in Ithaca when I foolishly left it unlocked in the open garage of the house where I was living one summer. I’ve been thinking for a while about biking to work. It’s only about 5 miles away, and I can avoid highways.

Anyway, I digress.

Some craigslist ad posters are morons. I’m perusing the SF-area bikes section today, and I come across this brilliant ad:

10 speed street bike call jeff [phone number]

What the fuck? That has to be the most information-free ad I’ve ever seen.

Well, ok, maybe that one’s not the worst. A week or so ago I was looking at apartments, and I don’t remember the exact ad, but it was something like this:

Beautiful 1 BR in lovely neighborhood. Call Jane at [phone number] to make an appointment to see the apartment at noon on Saturday, Sept 23.

Huh? How is it “making an appointment” when they’re telling you in advance the only time you can come? And what does this tell me? All I know is that it’s a 1-bedroom, and, from the ad title, I know the monthly rent and the town it’s in. Useless.

Now, I understand that some people don’t consider the internet (or perhaps just craigslist in particular) their primary form of advertisement, and would prefer that you talk to them on the phone or in person to get details. But I think that’s retarded. If you’re going to put up an ad for something in a place where they don’t charge per-word, give as much information as is humanly possible. When I’m looking at a housing ad, I expect to see:

  • The location. If you don’t want to give an exact street address due to privacy concerns, that’s fine, but I want to be able to figure out the location within a 1-mile radius at worst.

  • The size of the apartment, in square feet. Bonus points for giving the dimensions of the rooms. I’m looking at 1-bedroom apartments, for crying out loud - there are only 2 rooms!

  • Is this an apartment in a house, or in a complex? I guess for a craigslist listing, it’s likely the former, but I want to be sure.

  • Some detail about the rooms. Does it have wood floors, or is it carpeted?

  • What kind of amenities does the place offer? On-site laundry? Is it free? Is there a gym? Pool? Anything else?

  • Pictures. I want to know what it looks like inside. I generally like newer construction, or at least recently-renovated construction. Your apartment in a 40-year-old house may be, strictly speaking, clean, but if it looks old, I’m not going to want to live there. I’d also like a picture of the bathroom. I’m not a clean freak by any means, but a bathroom that looks dingy is going to turn me off about the place immediately. If the rest of the ad is decently informative, I’m willing to call for more info and maybe visit if there aren’t any pictures.

There are other things, probably, but I’m too lazy to think of them. The idea is: more detail is better. Too little detail and I’m not even going to bother to follow up. In a typical browsing session, I’ll probably click on 50-75 ads, and it’s not feasible for me to visit or even call for information about each one. I’m most likely not going to call unless I can already say from looking at the listing, “sure, I could live there”.

Cornell Featured

Cool, Cornell University is Wikipedia’s featured article today.

Weekend

Suck: Buying $110 worth of clothes, then going to another store, where they give you a 15% off coupon good at the previous store. Awesome: Going back to the previous store, where they let you return and re-buy the stuff with the discount applied.

Suck: Getting two fingers closed in the power windows of a friend’s car. Awesome: Eating lots of Italian cheese and bread.

Suck: Having no plans for the evening. Awesome: Talking on the phone for an hour with a far-away friend.

New Website Design

Not so much a new design, I suppose, though it’s a little simpler. Mostly a new color scheme. Let me know if anything looks funny. I didn’t put too much effort into testing it.

« prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 next »